题解 | #全排列#简简单单深度优先遍历

全排列

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

#include <iostream>
#include<string>
#include<vector>
using namespace std;

vector<string>res;      //保存结果

void dfs(string s,string cur){
    if (s=="") res.push_back(cur);
    for(int i=0;i<s.size();++i){
        char tmp=s[i];
        s.erase(i,1);               //删去第i个位置,dfs
        dfs(s,cur+tmp);
        s.insert(i,1,tmp);          //回溯,加回字符
    }
}

int main() {
    string s;
    while(cin>>s){
        res={};
        dfs(s,"");
        for(string x:res) cout<<x<<endl;
    }
}

全部评论

相关推荐

11-10 21:00
门头沟学院 Java
程序员牛肉:没啥必要了,3月末就开暑期实习了,你现在找还不一定能找到。看你啥学历了。 双非基本代表想进好公司无望了。211的话,现在继续沉淀,零日常实习参加暑期其实也压力不太大
点赞 评论 收藏
分享
程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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