题目:
Given a non-empty string s
, you may delete at most one character. Judge whether you can make it a palindrome.
Example 1:
Input: "aba" Output: True
Example 2:
Input: "abca" Output: True Explanation: You could delete the character 'c'.
Note:
- The string will only contain lowercase characters a-z. The maximum length of the string is 50000.
代码:
class Solution {
public:
bool isp(string s){
int cnt = 0;
int i = 0;
int j = s.size() - 1;
while(i < j){
if(s[i++] != s[j--]){
return false;
}
}
return true;
}
bool validPalindrome(string s) {
int i = 0;
int j = s.size() - 1;
while(i < j){
if(s[i] != s[j]){
return (isp(s.substr(i, j-i)) || isp(s.substr(i+1, j-i)));
}
i++;
j--;
}
return true;
}
};