字串分割成為迴文串的最小次數
阿新 • • 發佈:2019-01-12
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(); } } } };