网站建设 电子商务 品牌首选IDC,小企业网站建设价格,没有公司做网站犯法吗,天行健君子以自强不息网站建设题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 1 cla… 题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 1 class Solution {2 public:3 vectorstring v;4 5 void swap(char *a, char *b){6 char temp *a;7 *a *b;8 *b temp;9 }
10
11 void AllRange(int k, int n, string str){
12 if (k n)
13 v.push_back(str);
14 else{
15 for (int i k; i n; i){
16 swap(str[k], str[i]);
17 AllRange(k 1, n, str);
18 swap(str[k], str[i]);
19 }
20 }
21 }
22
23 vectorstring Permutation(string str) {
24 if (str.length() ! 0){
25 AllRange(0, str.length(), str);
26 sort(v.begin(),v.end());
27 vectorstring::iterator iter unique(v.begin(),v.end());
28 if(iter ! v.end())
29 v.erase(iter,v.end());
30 }
31 return v;
32 }
33 }; 转载于:https://www.cnblogs.com/wanderingzj/p/5357429.html