劍指 Offer 38. 字符串的排列

劍指 Offer 38. 字符串的排列

題目:

輸入一個字符串,打印出該字符串中字符的所有排列。你可以以任意順序返回這個字符串數組,但裏面不能有重複元素。

示例:

輸入:s = "abc"
輸出:["abc","acb","bac","bca","cab","cba"]

題解:

全排列

class Solution {
public:
    vector<string> permutation(string s) {
        sort(s.begin(),s.end());
        vector<string>ans;
        set<string>ss;
        do
        {
            if(!ss.count(s))
            {
                ss.insert(s);
                ans.push_back(s);
            }
        }while(next_permutation(s.begin(),s.end()));
        return ans;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章