首先回文字符串 就是 前后相等的 成对称形式的字符串
比如 : aaabbbaaa helloolleh 等
但题目中说的是 我们可以删除一个字符
比如 aba 是回文 abca 不是回文 但是 删除一个 b或者c后 就是回文 这个也算
要求:
aba 输出 true
abca 也是 true
let str = "abca";
const isHui = (str, type = "1") => {
let count = 0;
for(var i = 0, len = str.length - 1; i < len; i++, len--) {
(str[i] != str[len]) && count ++
}
if(count == 1 && type == 1) {
str = str.slice(0, str.length - 2) + str.slice(-1);
return isHui(str, 2);
}
return (count == 0) ? true : false;
}
console.log(isHui(str))
有的童鞋可能要说了 你这个是写死的删除了倒数第二个字符 那你说应该删除那个位置的字符呢? 这个问题留给大佬来解决了
关注我 持续更新前端知识