题解 | #字符串的排列#

字符串的排列

http://www.nowcoder.com/practice/fe6b651b66ae47d7acce78ffdd9a96c7

  1. 简简单单的回溯。
  2. 注意set去重
class Solution {
public:
    void perm(int pos, string s, set<string>& res ){
        if(pos==s.size()-1){
            res.insert(s);
            return;
        }

        for(int i = pos; i< s.length();i++){//回溯
            swap(s[i],s[pos]);//字符串对应位置就自动变了
            perm(pos+1,s,res);
            swap(s[i],s[pos]);

        }


    }


    vector<string> Permutation(string str) {
        if(str.empty()) return {};

        set<string> res;
        perm(0,str,res);

        return vector<string>({res.begin(),res.end()});//记住这种set转换为vector的方式
    }
};
算法解析 文章被收录于专栏

这里主要是算法岗的自我思路总结

全部评论

相关推荐

点赞 评论 收藏
分享
03-06 20:09
贵州大学 Java
King987:你这个学历找个中大厂刷实习经历都是可以的,但是项目要有亮点才行,这个什么外卖就不要做了,去找找最新的项目,至少涉及高并发或者是新型的AI技术mcp rag啥的 ,我在出简历点评,但是你这个没什么好点评的,内容太少,而且含金量太低。自己改一改吧,或者看一下我的项目地址中,那里有大厂最近做过的实习项目
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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