题目大意:最多删除一个字符,判断字符串是否为回文串,字符串只包含小写字母
代码:
class Solution {
public:
bool validPalindrome(string s) {
int l = 0,r = s.size() - 1;
while(l < r && s[l] == s[r]){
l++,r--;
}
if(l >= r) return true; //找到第一个不对称的ij
else return isPalindrome(s,l + 1,r) || isPalindrome(s,l,r - 1);
}
bool isPalindrome(string s,int left,int right){
while(left < right && s[left] == s[right]) {
left++,right--;
}
return left >= right;
}
};