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

สร้าง palindrome โดยเปลี่ยนอักขระแต่ละตัวเป็นอักขระข้างเคียงใน JavaScript


ปัญหา

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริง ฟังก์ชันของเราสามารถดำเนินการต่อไปนี้กับสตริง -

  • ต้องเปลี่ยนอักขระแต่ละตัวเป็นตัวอักษรหน้าหรือหลังตัวอักษร
  • เปลี่ยน "a" เป็น "b" และ "z" เป็น "y" ได้เท่านั้น

ฟังก์ชันของเราควรคืนค่า True หากผลลัพธ์ของการดำเนินการเหล่านี้อย่างน้อยหนึ่งรายการเป็น palindrome หรือเป็นเท็จ

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const str = 'adfa';
const canFormPalindrome = (str = '') => {
   const middle = str.length / 2;
   for(let i = 0; i < middle; i++){
      const first = str[i].charCodeAt()
      const last = str[str.length - (i + 1)].charCodeAt()
      const distance = Math.abs(last - first)
      if(distance > 2 || distance === 1){
         return false;
      };
   };
   return true;
};
console.log(canFormPalindrome(str));

ผลลัพธ์

ต่อไปนี้เป็นเอาต์พุตคอนโซล -

true