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 validPalindrome(string s) {
int i=0,j=s.length()-1;
while(i<j){
if(s[i]==s[j]){
i++;j–;
}
else return isvalid(s,i+1,j)||isvalid(s,i,j-1);
}
return true;
}
bool isvalid(string s,int i,int j){
while(i<j){
if(s[i]==s[j]){
i++;j–;
}
else return false;
}
return true;
}
};