1 <= s.length <= 105
s
由小写英文字母组成
class Solution {
public boolean validPalindrome(String s) {
//如果 最多 从字符串中删除一个字符能否得到一个回文字符串
int start = 0, end = s.length() - 1;
//最多删除一个:嵌套一个(判断删除左边还是右边)
while (start<end){
if(s.charAt(start)!=s.charAt(end)){
return isPalindrome(s, start, end - 1) || isPalindrome(s, start + 1, end);
}
start++;end--;
}
return true;
}
private boolean isPalindrome(String s, int start, int end) {
while (start<end){
if(s.charAt(start)!=s.charAt(end)){
return false;
}
start++;end--;
}
return true;
}
}