เราจำเป็นต้องเขียนฟังก์ชัน 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