เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงเป็นอาร์กิวเมนต์แรกและอาร์กิวเมนต์เดียว
หน้าที่ของฟังก์ชันของเราคือตรวจสอบว่าการจัดเรียงใหม่ในอักขระของสตริงส่งผลให้เป็นสตริง palindrome หรือไม่ ถ้าใช่ ฟังก์ชันของเราควรคืนค่า true หรือ false มิฉะนั้น
ตัวอย่างเช่น −
หากสตริงอินพุตเป็น −
const str = 'amadm';
จากนั้นผลลัพธ์ควรเป็น −
const output = true;
เพราะสตริงสามารถจัดเรียงใหม่ให้เป็น 'มาดาม' ซึ่งเป็นสตริงพาลินโดรมได้
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const str = 'amadm';
const canFormPalindrome = (str = '') => {
const hash = {};
let count = 0;
for (let i = 0; i < str.length; i++) {
let c = str[i];
if(c === ' '){
continue;
};
if(hash[c]){
delete hash[c];
}else{
hash[c] = true;
};
count++;
};
if(count % 2 === 0){
return Object.keys(hash).length === 0;
}else{
return Object.keys(hash).length === 1;
};
};
console.log(canFormPalindrome(str)); ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
true