要求:判断删掉一个字符能否回文
思路:双指针,时间O(n),空间O(1)
class Solution {
public:
bool validPalindrome(string s) {
int i=0;
int j=s.length()-1;
int times=0;
while(i<j){
if(s[i]==s[j]){
i++;
j--;
continue;
}
return valid(s.substr(i,j-i))||valid(s.substr(i+1,j-i));
}
return true;
}
bool valid(string t){
int i=0;
int j=t.length()-1;
while(i<j){
if(t[i]!=t[j])
return false;
i++;
j--;
}
return true;
}
};