Lintcode 680. split string(分割字串)(更改後)
阿新 • • 發佈:2019-01-23
給一個字串,你可以選擇在一個字元或兩個相鄰字元之後拆分字串,使字串由僅一個字元或兩個字元組成,輸出所有可能的結果
您在真實的面試中是否遇到過這個題? Yes 樣例給一個字串"123"
返回[["1","2","3"],["12","3"],["1","23"]]
最近部落格一直打不開,粘上來,睡覺。。
class Solution { public: /* * @param : a string to be split * @return: all possible split string array */ vector<vector<string>> splitString(string s) { // write your code here vector<string> temp; vector<vector<string>> result; int length=s.length(); splitStringHelper(0,s,temp,result); return result; } void splitStringHelper(int start,string& s,vector<string> temp,vector<vector<string>>& result) { if(start>=s.length()) { result.push_back(temp); return; } vector<string> tmp=temp; tmp.push_back(s.substr(start,1)); splitStringHelper(start+1,s,tmp,result); if(start+2<=s.length()){ //temp.erase(temp.end()); temp.push_back(s.substr(start,2)); splitStringHelper(start+2,s,temp,result); } } };