Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

กำลังตรวจสอบการเปลี่ยนแปลงของพาลินโดรมใน JavaScript


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