dfs-题解 | #全排列#

全排列

https://www.nowcoder.com/practice/5632c23d0d654aecbc9315d1720421c1

#include <iostream>

using namespace std;
const int N = 10;
int n;
char path[N];
bool st[N];
string s;
void dfs(int u){
    if(u == n){
        for(int i = 0; i < n; i ++) cout<<path[i];
        cout<<endl;
        return;
    }
    for(int i = 0; i < n; i ++){
        if(!st[i]){
            st[i] = true;
            path[u] = s[i];
            dfs(u + 1);
            st[i] = false;
        }
    }
}

int main(){
    
    cin>>s;
    n = s.size();
    dfs(0);
    return 0;
}

全部评论

相关推荐

08-01 16:47
门头沟学院 Java
点赞 评论 收藏
分享
07-30 11:52
门头沟学院 Java
美团暑期实习没投递成功,这次正式批的北斗计划总该有我的一部分了吧!
求职的纳鲁多:大佬投我就不投了,毕竟王不见王,避你锋芒
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
这个状态都快维持十天了
投递小鹏汽车等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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