字符串的排列(全排列,包含重复的字符)
来源:互联网 发布:大数据医疗行业的应用 编辑:程序博客网 时间:2024/06/05 03:25
题目描述
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。
输入描述:
输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。
void Per(int begin,string &str,vector<string> &a,int len){ if(str[begin] == '\0'){ a.push_back(str); return; } char temp; for(int i = begin;i <len;i++){ if(i == begin || str[i] != str[begin]){ //有重复的字符跳过不交换 temp = str[i]; str[i] = str[begin]; str[begin] = temp; Per(begin+1,str,a,len); temp = str[i]; str[i] = str[begin]; str[begin] = temp; } } }public: vector<string> Permutation(string str) { int len = str.length(); vector<string> vec; if(len == 0) return vec; Per(0,str,vec,len); sort(vec.begin(),vec.end());//保证按字典序排列 return vec; }
0 0
- 字符串的排列(全排列,包含重复的字符)
- 包含重复的全排列
- 重复字符串的全排列
- Subsets II 全排列包含重复的
- 包含重复元素的全排列
- 字符串的全排列问题(一)——无重复出现字符的排列
- 字符串的无重复全排列
- 字符串全排列算法--去除重复的排列
- 字符的全排列
- 字符的全排列
- 字符的全排列
- 字符的全排列
- 字符串的全排列
- 字符串的全排列
- 字符串的全排列
- 字符串的全排列
- 字符串的全排列
- 字符串的全排列
- SWUST OJ数据结构输出格式
- 根据前序遍历序列和中序遍历序列重建二叉树
- 1244 -- 括号的深度
- 线上问题分析:The target server failed to respond(目标服务器返回失败)
- 【.Net码农】Asp.Net异常:"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值"的解决方法
- 字符串的排列(全排列,包含重复的字符)
- 第一周项目 — C/C++语言中函数参数传递的三种方式
- Android 隐藏手机号中间四位和邮箱隐藏
- 1245 -- 不只是水仙花
- Unity 加密解密那些事
- 1246 -- 字符转换
- 第二周项目:宣告主权
- http://my.oschina.net/u/138995/blog/177925
- 详解Java中的闭包(Closure)和回调