生成字符串的全排列

简介:

 

void permute(string s) { sort(s.begin(),s.end()); cout<<s<<endl; while(next_permutation(s.begin(),s.end())) cout<<s<<endl; } 

 

上面的是标准库的迭代版本。

下面的是递归版本

void permute(string s,unsigned k) { if (k == s.length()-1) { cout<<s<<endl; } for (unsigned i = k;i<s.length();++i) { swap(s[i],s[k]); permute(s,k+1); } } 

目录
相关文章
|
3天前
14.最长公共前缀
14.最长公共前缀
7 0
|
1月前
|
机器学习/深度学习 算法 测试技术
【字符串】【分类讨论】【KMP】1163. 按字典序排在最后的子串
【字符串】【分类讨论】【KMP】1163. 按字典序排在最后的子串
|
4月前
|
C++
最长公共前缀(C++)
最长公共前缀(C++)
12 0
|
7月前
|
Shell
【Leetcode -342. 4的幂 -344.反转字符串 -345.反转字符串中的元音字母】
【Leetcode -342. 4的幂 -344.反转字符串 -345.反转字符串中的元音字母】
27 0
|
9月前
字符串的全排列
字符串的全排列
50 0
|
11月前
逆序字符串 和 字符串的逆序输出 的区别~
逆序字符串 和 字符串的逆序输出 的区别~
88 0
|
12月前
|
算法 前端开发 JavaScript
[LeetCode] 无重复字符的最长子串 & 最长回文子串
博主最近在看新的工作机会,也是在找一些leetcode上比较高频的算法复习一下,这里分享两道算法题的解题。
53 2
[LeetCode] 无重复字符的最长子串 & 最长回文子串
|
算法 前端开发 API
字符串看到 ”回文“ 尝试双指针
字符串看到 ”回文“ 尝试双指针
45 0
Day8——反转字符串、反转字符串||、替换空格、反转字符串里的单词、左旋字符串
Day8——反转字符串、反转字符串||、替换空格、反转字符串里的单词、左旋字符串
85 0