Leetcode-680. Valid Palindrome II(判断回文)

题目大意:给定一个非空字符串s,您最多可以删除一个字符。判断你是否能把它变成一串“回文”。

题目解析最开始用的暴力,结果超时了,换用递归

解题代码:

class Solution {
public:
    bool validPalindrome(string s) {
        int len=s.length();
        if(len<=2) return true;
        return judge(s,0,len-1,1);
    }
        
private:
    bool judge(string s,int l,int r,int cnt){
        while(l<=r-1){
            if(s[l]!=s[r])
            {
                if(cnt<=0) return false;
                return judge(s,l+1,r,cnt-1)||judge(s,l,r-1,cnt-1);
            }
            l++;r--;
        }
            return true;
    }
};



~step by step





你可能感兴趣的:(ACMer的打工岁月)