题解 | #全排列#C
全排列
https://www.nowcoder.com/practice/5632c23d0d654aecbc9315d1720421c1
#include <stdio.h> #include<string.h> char charac[7]; int len; char way[7]; int hashtable[7]; void generate(int index) { if(index==len) { for(int i=0;i<len;i++) { printf("%c",way[i]); } printf("\n"); return; } for(int i=0;i<len;i++) { if(hashtable[i]==0) { hashtable[i]=1; way[index]=charac[i]; generate(index+1); hashtable[i]=0; } } } int main() { int a, b; while (scanf("%s", &charac[0]) != EOF) { // 注意 while 处理多个 case len=strlen(charac); generate(0); } return 0; }