题解 | 字符串排列

字符串排列

https://www.nowcoder.com/practice/8380c8cf28954a188362206b1991b5d6

#include <algorithm>
#include <vector>
class Permutation {
    void dfs(const string&A, string &cur, vector<bool> used, vector<string>&res){
        if (cur.size() == A.size()) res.push_back(cur);
        for(int i=0;i<A.length();++i){
            if(used[i]) continue;
            used[i] =true;
            cur.push_back(A[i]);
            dfs(A, cur, used, res);
            cur.pop_back();
            used[i] =false;
        }

    }
public:
    vector<string> getPermutation(string A) {
        // write code here
        sort(A.rbegin(), A.rend());
        string cur;
        vector<string> res;
        vector<bool> used(A.length(), false);
        dfs(A, cur, used, res);
        sort(res.rbegin(), res.rend());
        return res;

    }
};

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-11 11:25
点赞 评论 收藏
分享
06-05 19:46
已编辑
武汉大学 后端
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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