โปรแกรมจัดการสตริง: การสลับลำดับคำ
คุณต้องการสลับลำดับของคำในสตริง หลายคนคิดว่าเรื่องนี้เป็นเรื่องยาก แต่จริงๆ แล้วมันง่ายมากหากคุณทำตามตรรกะ
เป้าหมาย: เปลี่ยน "YOU ARE HOW" ให้เป็น "HOW ARE YOU"
ตรรกะ: คุณต้องหาจุดเริ่มต้นและจุดสิ้นสุดของแต่ละคำ
- กำหนดจุดเริ่มต้นที่ต้นสตริง
- กำหนดจุดสิ้นสุดที่ตัวอักษรสุดท้าย
- ไล่ลำดับย้อนกลับจากตัวอักษรสุดท้ายไปยังตัวแรก
- มองหาช่องว่างหรือจุดเริ่มต้นของสตริง
- เมื่อคุณเจอช่องว่าง แสดงว่าคุณพบคำหนึ่งคำแล้ว
- ดึงคำนั้นออกมาและเพิ่มเข้าไปในผลลัพธ์ของคุณ
- เพิ่มช่องว่างหลังคำนั้น
- เลื่อนจุดสิ้นสุดไปยังคำก่อนหน้า
- ทำซ้ำจนกว่าจะถึงจุดเริ่มต้น
โค้ด:
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