Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Kiểm tra chuỗi có thể thành palindrome bằng JavaScript


Cần viết hàm JS nhận chuỗi, kiểm tra xem có thể xóa tối đa một ký tự để chuỗi thành palindrome không. Trả về true nếu có, false nếu không.

Ví dụ:

Nếu chuỗi đầu vào:

const str = 'kjlk';

Kết quả:

const output = true;

vì xóa 'l' còn 'kjk' là palindrome.

Ví dụ

Mã thực hiện:

const str = 'kjlk'; const isPalindrome = (str = '', start, end) => {    while (start < end) {       if (str[start] != str[end]) {          return false;       };       start ++;       end --;    };    return true; }; const canMakePalindrome = (str = '') => {    let left = 0, right = str.length - 1;    while (left < right - 1) {       if (str[left] !== str[right]) {          if (isPalindrome(str, left, right - 1)) {             return true;          };          if (isPalindrome(str, left + 1, right)) {             return true;          };          return false;       }else {          left ++;          right --;       };    };    return true; } console.log(canMakePalindrome(str));

Kết quả

Kết quả in ra console:

true