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

全部评论

相关推荐

一名愚蠢的人类:多少games小鬼留下了羡慕的泪水
投递荣耀等公司10个岗位
点赞 评论 收藏
分享
像好涩一样好学:这公司我也拿过 基本明确周六加班 工资还凑活 另外下次镜头往上点儿
点赞 评论 收藏
分享
双非Java现在无实习,应该好好背八股,找个开源项目做做,还是应该疯狂投实习呢?
Aries_woon:投实习并不耽误你做开源项目,集中一个下午可以投几十家实习了,投完安心做项目等待面试通知
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务