字符串排列-dfs算法

来源:互联网 发布:淘宝开服装店教程 编辑:程序博客网 时间:2024/06/05 01:10
class Solution {
public:
    vector<string> Permutation(string str) {
        vector<string>array;
        if(str.size()==0)
            return array;
        per(array,str,0);
        sort(array.begin(),array.end());
        return array;
    }
    void per(vector<string>&array,string str,int begin)//遍历第begin
    {
        if(begin==str.size()-1)
            array.push_back(str);
        for(int i=begin;i<=str.size()-1;i++)
        {
            if(i!=begin&&str[i]==str[begin])
                continue;
            swap(str[i],str[begin]);
            per(array,str,begin+1);
            swap(str[i],str[begin]);
        }
    }
   
};
原创粉丝点击