首页 > 代码库 > 字符串的组合
字符串的组合
引用剑指offer
1 //组合,从字符串str中取m个字符的所有组合,结果保存在vector中 2 void combination(char* str,int m,vector<char>& result){ 3 //有两个停止条件:m==0或者*str==‘\0‘ 4 //先判断m 5 if(m==0){ 6 for(vector<char>::iterator it=result.begin();it!=result.end();it++) 7 cout<<*it; 8 cout<<endl; 9 return;10 }11 if(str==NULL|| *str==‘\0‘)12 return;13 //情况1:当前字符被选中,m--14 result.push_back(*str);15 combination(str+1,m-1,result);16 //上一步将含有*str的组合都输出了,下一步将*str移出result17 result.pop_back();18 //情况2:当前字符没被选中,m不变19 combination(str+1,m,result);20 }
字符串的组合
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。