680. Split String
来源:互联网 发布:淘宝买家常问问题 编辑:程序博客网 时间:2024/05/21 10:28
描述:
Give a string, you can choose to split the string after one character or two adjacent characters, and make the string to be composed of only one character or two characters. Output all possible results.
样例:
Given the string "123" return [["1","2","3"],["12","3"],["1","23"]] 。
标签:回溯法 深度优先搜索
思路:
判断字符串长度,如果长度为一或二,将其直接添加到当前vector中;
如果长度大于二,将其拆分成左右子串,其中左子串长度为一或二,左子串直接加入当前vector, 右子串递归调用函数处理。
代码:
class Solution{
public:
vector<vector<string>> v;
vector<vector<string>> splitString(string& s){
vector<string> temv;
if(s!=""){
Division(s,temv);
}
else{
v.push_back(temv);
}
return v;
}
void Division(string s,vector<string> temv){
if(s.length()==1){
temv.push_back(s);
v.push_back(temv);
return;
}
string sl=s.substr(0,1);
string sr=s.substr(1,s.length()-1);
temv.push_back(sl);
Division(sr,temv);
temv.erase(temv.end()-1);
if(s.length()==2){
temv.push_back(s);
v.push_back(temv);
return;
}
sl=s.substr(0,2);
sr=s.substr(2,s.length()-2);
temv.push_back(sl);
Division(sr,temv);
}
};
- 680. Split String
- stringutils.split string.split
- String#split
- String split()
- String.split()
- String.split
- String split()
- String.split()
- String.split
- String split
- String .split
- string.split
- String.split
- String split()
- String.split()
- String.split
- String.split()
- String.split
- 【TLE与否】10123UVa不要歪——记忆化的重要性
- 一夜之间,退货无数!快递爆仓!苹果这次真的“亏惨了”...
- 对标iPhone X?华为Mate 10或改名Mate X!
- 【国际】墨西哥寻求金融科技监管解决方案
- 【国际】欧洲央行发布金融科技银行执照申请指南
- 680. Split String
- Android 实现倒计时的几种方法
- 1081. Rational Sum (20)
- JeeSite相关技术摘点(一)
- java入门的第一个程序代码 hello world
- 基于云实现全业态数字化,哪三种技术必备?
- iPhone 8系列全球首碎、再碎、跌落测试...看了心塞
- 编辑jsp/js文件使得cpu爆表,解决方法
- 微信这张图要换了!换中国的!