题解 | #全排列#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;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务