在 JavaScript 中最多使用一次删除来形成回文
问题
我们需要编写一个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
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练