字符串的排列

字符串的排列

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

class Solution {
public:
    vector<string> Permutation(string str) {
        if (str.size() == 0) {
            return v;
        }
        func(str, 0);
        sort(v.begin(), v.end());
        return v;
    }
    void func(string &str, int begin){
        if (begin == str.length()) {
            s.insert(str);
            if (s.size()!=before) {
                v.push_back(str);
                before = s.size();
            }
            return;
        }
        for (int i=begin; i<str.length(); i++) {
            char t = str[i];
            str[i] = str[begin];
            str[begin] = t;
            
            func(str, begin+1);
            
            t = str[i];
            str[i] = str[begin];
            str[begin] = t;
        }
    }
private:
    vector<string> v;
    set<string> s;
    int before = 0;
};




全部评论

相关推荐

08-19 18:59
已编辑
绍兴文理学院 Java
一只末影酱:一、1w+qps嘛感觉数据有点太夸张了 二、还有就是99.95%这些,本身大部分学生做的小项目基本是100%,因为量太小了,网络抖动问题也基本模拟不出来,感觉这些不太好写 三、你这些项目,都是一个月就做完了,更抽象了,也就是大概意味着,没有技术调研,没有上线测试,
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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