检查字符串是否可以在 JavaScript 中回文
我们需要编写一个JavaScript函数,它接受一个字符串作为第一个也是唯一的参数。
我们函数的任务是检查是否可以通过从字符串中删除最多一个字符来使该字符串成为回文字符串。如果我们可以这样做,该函数应该返回true,否则返回false。
例如-
如果输入字符串是-
const str = 'kjlk';
那么输出应该是-
const output = true;
因为通过从字符串中删除'l',将只剩下'kjk',这是一个回文字符串。
示例
此代码将是-
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));输出结果
控制台中的输出将是-
true