题解 | #全排列#
全排列
https://www.nowcoder.com/practice/5632c23d0d654aecbc9315d1720421c1
#include <iostream>
#include <cstring>
using namespace std;
char str[7];
char board[7];
bool isused[7];
void myout(int maxlevel,int now){
if(maxlevel==now){
for(int i=0;i<maxlevel;i++){
if(!isused[i]){
board[now-1]=str[i];
cout<<board<<endl;
}
}
}
else{
for(int i=0;i<maxlevel;i++){
if(!isused[i]){
board[now-1]=str[i];
isused[i]=true;
myout(maxlevel,now+1);
isused[i]=false;
}
}
}
}
int main() {
cin>>str;
myout(strlen(str),1);
system("pause");
return 0;
}
查看6道真题和解析
爱玛科技公司福利 6人发布