680. Valid Palindrome II
Given a non-empty string s, you may delete at most one character. Judge whether you can make it a palindrome.
Example 1:
Input: "aba" Output: True
Example 2:
Input: "abca" Output: True Explanation: You could delete the character 'c'.
Note:
- The string will only contain lowercase characters a-z. The maximum length of the string is 50000.
class Solution {
public boolean validPalindrome(String s) {
int l = 0;
int r = s.length() - 1;
while (l < r) {
if (s.charAt(l) != s.charAt(r))
return isPalindrome(s, l, r - 1) || isPalindrome(s, l + 1, r); //如果出现不想同的情况,开始处加一或者末尾减一
l++;
r--;
}
return true;
}
private boolean isPalindrome(String s, int start, int end) { //判断是不是回文序列
while (start < end) {
if (s.charAt(start) == s.charAt(end)) {
start++;
end--;
}
else
return false;
}
return true;
}
}
浙公网安备 33010602011771号