我们需要编写一个 JavaScript 函数,它接受一个字符串 str 作为第一个也是唯一的参数。
我们的函数最多可以从字符串 str 中删除一个字符,我们需要检查是否可以使其成为回文。
例如,如果函数的输入是
输入
const str = 'dr.awkward';
输出
const output = true;
输出说明
因为如果我们删除'.' 从字符串,
以下是代码 -
const str = 'dr.awkward'; const validPalindrome = (str = '') => { const valid = (left, right) => { for (let i = left; i <= Math.floor((left + right) / 2); i++) { if (str[i] !== str[right - (i - left)]) { return false } } return true } for (let i = 0; i <= Math.floor(str.length / 2); i++) { const right =str.length- 1 - i if (str[i] !== str[right]) { return valid(i, right - 1) || valid(i + 1, right) } } return true } console.log(validPalindrome(str));输出结果
true