Back to all solutions
#680 - Valid Palindrome II
Problem Description
Given a string s, return true if the s can be palindrome after deleting at most one character from it.
Solution
/**
* @param {string} s
* @return {boolean}
*/
var validPalindrome = function(s) {
for (let left = 0, right = s.length - 1; left < right; left++, right--) {
if (s[left] !== s[right]) {
return isPalindrome(s, left + 1, right) || isPalindrome(s, left, right - 1);
}
}
return true;
};
function isPalindrome(s, left, right) {
while (left < right) {
if (s[left] !== s[right]) {
return false;
}
right--;
left++;
}
return true;
}