class Solution {
public:
bool validPalindrome(string s) {
int counter = 0;
int start = 0;
int end = s.size()-1;
return valid(s,start,end,counter);
}
bool valid(string& s, int start,int end, int counter){
if(start >= end) return true;
if(s[start]!=s[end] && counter ==1) return false;
if(s[start]==s[end]){
return valid(s,start+1,end-1,counter);
}else{
return (valid(s,start+1,end,counter+1) || valid(s,start,end-1,counter+1));
}
}
};