天天看點

【2019秋冬】【LeetCode】131 分隔回文串

class Solution {
public:
    vector<vector<string>> ans;
    vector<vector<string>> partition(string s) {       
        vector<string> cur;
        dfs(s,cur);
        return ans;
    }
    bool ishui(string a){
        string b = a;
        reverse(a.begin(),a.end());
        return a==b;
    }
    void dfs(string s,vector<string> cur){
        if(s==""){
            ans.push_back(cur);
            return ;
        }
        for(int i=1; i<=s.length(); i++){
            string a = s.substr(0,i);
            if(ishui(a)){ 
                cur.push_back(a);
                dfs(s.substr(i,s.length()-i),cur);
                cur.pop_back();
            }
        }
    }
};
           

時間有點長

遞歸,回溯,傳遞串的長度還需要研究