字符串全排列

来源:互联网 发布:录像配音软件 编辑:程序博客网 时间:2024/06/01 13:35
class Solution {//类似于数组的全排列,但是需要注意有的元素相同需要去除,因此用了set元素不能重复的特性public:    vector<string>tmp;    set<string>Tmp;    void print(string str, int index, int len,vector<bool>visit,string a){if (index >= len){Tmp.insert(a);return;}for (int i = 0; i<len; i++){if (!visit[i]){visit[i] = true;a[index] = str[i];print(str, index + 1, len,visit,a);visit[i] = false;}}}    vector<string> Permutation(string str) {        if(str.empty())            return tmp;    string a = str;int len = str.size();vector<bool>visit(len);print(str, 0, len,visit,a);for (set<string>::iterator it = Tmp.begin(); it != Tmp.end(); it++)tmp.push_back(*it);return tmp;    }};

原创粉丝点击