680. Valid Palindrome II

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));
        }
    }
};

results matching ""

    No results matching ""