字串的排列
題目
輸入一個字串,列印出該字串中字元的所有排列。例如輸入字串abc,則列印出字元a、b、c所能排列出來的所有字串abc、acb、bac、bca、cab和cba。
解析
我們可以把字串看成由兩個部分組成:第一部分為它的第一個字元,第二部分為後面的所有字元。如此就可以遞迴。
當然遞迴的時候一定不要忘了回溯。
結果
程式碼
#include<iostream>
using namespace std;
void Permutation(char* s,char* begin){
if(*begin=='\0')
cout<<s<<endl;
else
{
for(char* p=begin;*p!='\0';p++)
{
char temp=*p;
*p=*begin;
*begin=temp;
Permutation(s,begin+1);
//此處回溯
temp=*p;
*p=*begin;
*begin=temp;
}
}
}
int main()
{
char c[100];
cin>>c;
cout<<"結果:"<<endl;
Permutation(c,c);
return 0;
}
相關文章
- 字串全排列字串
- 567. 字串的排列(中)字串
- LeetCode 567. 字串的排列LeetCode字串
- JZ-027-字串的排列字串
- JavaScript字串逆序排列JavaScript字串
- 無重複字串的排列組合字串
- 劍指 Offer 38. 字串的排列字串
- 字串排列組合問題字串
- 指標陣列練習排列字串指標陣列字串
- 3297. 統計重新排列後包含另一個字串的子字串數目 I字串
- 3298. 統計重新排列後包含另一個字串的子字串數目 II字串
- LeetCode刷題進階之重新排列字串(1528)LeetCode字串
- leetcode 面試題08.08. 有重複字串的排列組合LeetCode面試題字串
- 隨機輸入3個字串,降序排列,用引用、字元陣列實現隨機字串字元陣列
- 【leetcode】60. Permutation Sequence 全排列的第k位序的排列形式LeetCode
- 逆序排列
- 關於元素排列的DFS
- 排列 題解
- 排列組合
- [MATLAB]排列大小Matlab
- 有重複元素的全排列
- AUTOCAD——弧形文字排列
- 數之重排列
- Linuxls按時間排列Linux
- Leetcode——46. 全排列LeetCode
- leetcode:全排列(java回溯)LeetCodeJava
- 字母排列(python實現)Python
- leedcode-排列硬幣
- LeetCode系列46—全排列LeetCode
- 全排列演算法演算法
- 下一個排列(LeetCode)LeetCode
- 演算法——全排列演算法
- 【LeetCode】46. 全排列LeetCode
- LeetCode-046-全排列LeetCode
- 重新排列陣列陣列
- Python語言的全排列怎麼提速?Python
- LeetCode46 回溯演算法求全排列,這次是真全排列LeetCode演算法
- 全排列及相關擴充套件演算法(二)——求字典序下一組排列及全排列演算法套件演算法
- Day 28 | 491.遞增子序列 、46.全排列、 47.全排列 II