给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。
如果碰到左右都在可能变化的情况,那就使用return fun(改变左边的情况 || 改变右边的情况)
再在下面编写一个函数。
public boolean validPalindrome(String s) {
char[] c = s.toCharArray();
int l = 0;
int r = s.length()-1;
int re = 1;
while(l<=r){
if(c[l]==c[r]){
l++;
r--;
}
else{
return judge(s,l,r-1)||judge(s,l+1,r);
}
}
return true;
}
public boolean judge(String s,int l,int r){
char[] c = s.toCharArray();
while(l<=r){
if(c[l]!=c[r]){
return false;
}
else{
l++;
r--;
}
}
return true;
}