leetcode系列–第680题.验证回文字符串 Ⅱ
给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。
输入: s = "abca"
输出: true
解释: 你可以删除c字符。
// 思路还是双指针对撞,只是在第一次返回false的时候去调用另外一个指针对撞的方法
function isPalindrome(str, l, r) {
while (l < r) {
if (str[l] != str[r]) {
return false
}
l++
r--
}
return true
}
function validPalindrome(s) {
let length = s.length;
let l = 0,
r = length - 1;
while (l < r) {
if (s[l] != s[r]) {
return isPalindrome(s, l + 1, r) || isPalindrome(s, l, r - 1)
}
l++
r--
}
return true
}