โปรแกรมจัดการสตริง: การสลับลำดับคำ

คุณต้องการสลับลำดับของคำในสตริง หลายคนคิดว่าเรื่องนี้เป็นเรื่องยาก แต่จริงๆ แล้วมันง่ายมากหากคุณทำตามตรรกะ

เป้าหมาย: เปลี่ยน "YOU ARE HOW" ให้เป็น "HOW ARE YOU"

ตรรกะ: คุณต้องหาจุดเริ่มต้นและจุดสิ้นสุดของแต่ละคำ

  1. กำหนดจุดเริ่มต้นที่ต้นสตริง
  2. กำหนดจุดสิ้นสุดที่ตัวอักษรสุดท้าย
  3. ไล่ลำดับย้อนกลับจากตัวอักษรสุดท้ายไปยังตัวแรก
  4. มองหาช่องว่างหรือจุดเริ่มต้นของสตริง
  5. เมื่อคุณเจอช่องว่าง แสดงว่าคุณพบคำหนึ่งคำแล้ว
  6. ดึงคำนั้นออกมาและเพิ่มเข้าไปในผลลัพธ์ของคุณ
  7. เพิ่มช่องว่างหลังคำนั้น
  8. เลื่อนจุดสิ้นสุดไปยังคำก่อนหน้า
  9. ทำซ้ำจนกว่าจะถึงจุดเริ่มต้น

โค้ด:

let start = 0; let sen = "YOU ARE HOW"; let len = sen.length - 1; let end = len; let result = "";

for (let i = end; i >= 0; i--) { if (sen[i] == " " || i == 0) { if (i == 0) { start = i;
} else { start = i + 1; }

    for (let j = start; j <= end; j++) {
        result += sen[j];
    }
    result += " ";
    end = i - 1;
}

}

console.log(result);

วิธีการนี้ทำงานโดยการระบุขอบเขตของคำ ซึ่งจะช่วยให้คุณเข้าใจวิธีการจัดการสตริงโดยใช้ลูป (loops) และดัชนี (indices)

ที่มา: https://dev.to/harini_magesh_fa40041cf8d/string-program-2e3g