字符串的排列
来源:互联网 发布:mac ppt 页面无法显示 编辑:程序博客网 时间:2024/06/12 00:23
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
思路1:在stl中有排列的相关函数,可以直接来
vector<string> Permutation(string str) {vector<string> answer;if(str.empty())return answer; sort(str.begin(),str.end());do{answer.push_back(str);}while(next_permutation(str.begin(),str.end()));return answer;}思路2:自己写全排列,然后排序
class Solution {public:vector<string> vec;vector<string> Permutation(string str) {PermutationHelp(str,0,str.size()-1);sort(vec.begin(),vec.end());return vec;} void PermutationHelp(string &str,int begin,int end) { if(begin == end) { if(find(vec.begin(),vec.end(),str)==vec.end())vec.push_back(str);} else { for(int j=begin;j<=end;j++) { swap(str[j], str[begin]);PermutationHelp(str,begin+1,end); swap(str[j], str[begin]); } } }};
阅读全文
0 0
- 字符串的全排列
- 字符串的全排列
- 转载 字符串的排列
- 字符串的排列--总结
- 字符串的排列
- 字符串的全排列
- 字符串的排列
- 53.字符串的排列
- 字符串的全排列
- 字符串的全排列
- 字符串的全排列
- 字符串的全排列
- 字符串的排列
- 字符串的排列
- 字符串的排列
- 字符串的倒序排列
- 字符串的全排列
- 字符串的排列
- mybatis 关联查询 Collection定义关联集合封装规则
- ORA-00600: internal error code, arguments: [qerpfAllocateR], [], [], [], [], [], [], []
- Spring+SpringMVC+MyBatis+EasyUI实现CRUD与分页
- 循环执行
- 官网下载完全匹配自己Eclipse版本的Hibernate Tools
- 字符串的排列
- php-fpm:No pool defined解决方法
- 解决webstorm卡顿问题
- 二叉搜索树
- mysql中文乱码问题解决办法
- 100~999之间的水仙花数
- [C++]C++使用类前必须先定义类,不能只是声明类类型
- The xxx collides with a package/type
- 第二章组织影响和项目生命周期