bool validPalindrome(string s) {
if(s.size()<2)return false;
int l=0,r=s.size()-1;
while(l<r){
if(s[l]==s[r]){
l++;
r--;
}else if(check(s,l+1,r)||check(s,l,r-1)){
return true;
}
else return false;
}
return true;
}
bool check(string s, int l,int r){
while(l<r){
if(s[l]!=s[r])return false;
l++;
r--;
}
return true;
}
分析:所谓删除一个字符,就是将左指针右移一位,或者右指针左移以为。再继续进行判断。