字符串分割成为回文串的最小次数

class Solution {
public:
    vector<vector<string>> partition(string s) {
        vector<string> svec;
        vector<vector<string> > ssvec;
        if(s.size()<=0){
            return ssvec;
        }
        dfs(s,svec,ssvec);
        return ssvec;
    }
    void dfs(string s,vector<string> &path,vector<vector<string> > &res){
        if(s.size()<1){
            res.push_back(path);
            return ;
        }
        for(int i=0;i<s.size();i++){
            int start=0;
            int end=i;
            while(start<end){
                if(s[start]==s[end]){
                    start++;
                    end--;
                }else{
                    break;
                }
            }
            if(start>=end){
                path.push_back(s.substr(0,i+1));
                dfs(s.substr(i+1),path,res);
                path.pop_back();
            }
        }
    }
};

猜你喜欢

转载自blog.csdn.net/u010325193/article/details/86325250
今日推荐