您的位置:首页 > 其它

字符串排列-dfs算法

2017-05-23 17:27 162 查看
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]);

        }

    }

   

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: