题解 | #全排列#
全排列
https://www.nowcoder.com/practice/5632c23d0d654aecbc9315d1720421c1
#include <algorithm>
#include <iostream>
using namespace std;
string s;
int n;
int vis[10];
char list[10];
void dfs(int x)
{
if(x == n)
{
for(int i = 0; i < n; i++)
cout << list[i];
cout << endl;
return;
}
for (int i = 0; i < n; i++)
{
if(!vis[i])
{
list[x] = s[i];
vis[i] = 1;
dfs(x + 1);
vis[i] = 0;
}
}
}
int main() {
cin >> s;
n = s.length();
// 方法一:STL
// do{
// cout << s << endl;
// }while(next_permutation(s.begin(), s.end()));
// 方法二:递归
dfs(0);
}

