LeetCode链接:力扣
题目:
给定一个非空字符串 s
,请判断如果 最多 从字符串中删除一个字符能否得到一个回文字符串。
示例:
输入: s = "aba"
输出: true
代码:
class Solution {
public boolean validPalindrome(String s) {
for(int left = 0, right = s.length() - 1; left < right; left++, right--){
if(s.charAt(left) != s.charAt(right)){
return isPalindrome(s, left+1, right) || isPalindrome(s, left, right-1);
}
}
return true;
}
private boolean isPalindrome(String s, int left, int right){
while(left < right){
if(s.charAt(left++) != s.charAt(right--)){
return false;
}
}
return true;
}
}