leetcode 面试题 08.08. 有重复字符串的排列组合(C++)

有重复字符串的排列组合。编写一种方法,计算某字符串的所有排列组合。

示例1:

 输入:S = "qqe"
 输出:["eqq","qeq","qqe"]

示例2:

 输入:S = "ab"
 输出:["ab", "ba"]

提示:

  1. 字符都是英文字母。
  2. 字符串长度在[1, 9]之间。

C++

class Solution {
public:
    void dfs(unordered_set& tmp, string& S, int start) {
        if(start==S.size()) {
            tmp.insert(S);
            return;
        }
        for(int i=start;i permutation(string S) {
        unordered_set tmp;
        dfs(tmp,S,0);
        return vector(tmp.begin(),tmp.end());
    }
};

 

你可能感兴趣的:(LeetCode,回溯)