Valid Palindrome II
Example
Input:
"aba"
Output:
TrueInput:
"abca"
Output:
True
Explanation:
You could delete the character 'c'.Note
Code
Last updated
Input:
"aba"
Output:
TrueInput:
"abca"
Output:
True
Explanation:
You could delete the character 'c'.Last updated
return isSubPalindrome(s, start + 1, end) ||
isSubPalindrome(s, start, end - 1);class Solution {
public boolean validPalindrome(String s) {
int start = 0, end = s.length() - 1;
while (start < end) {
if (s.charAt(start) == s.charAt(end)) {
start++;
end--;
} else {
break;
}
}
if (start >= end) {
return true;
}
return isSubPalindrome(s, start + 1, end) ||
isSubPalindrome(s, start, end - 1);
}
private boolean isSubPalindrome(String s, int start, int end) {
while (start < end) {
if (s.charAt(start++) != s.charAt(end--)) {
return false;
}
}
return true;
}
}