题解 | 全排列

全排列

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

#include <iostream>
#include<unordered_map>
using namespace std;
int n;
string str;
unordered_map<char, bool>visit;
void dfs(int pos, string res) {
    if (pos == n) {
        cout << res << endl;
        return;
    }
    for (int i = 0; i < str.size(); i++) {
        if (visit[str[i]] == false) {
            visit[str[i]] = true;
            dfs(pos + 1, res + str[i]);
            visit[str[i]] = false;
        }
    }
}
int main() {

    cin >> str;
    n = str.size();
    string res;
    dfs(0, res);

}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务