剑指OFFER----面试题38. 字符串的排列

Posted clown9804

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指OFFER----面试题38. 字符串的排列相关的知识,希望对你有一定的参考价值。

链接:https://leetcode-cn.com/problems/zi-fu-chuan-de-pai-lie-lcof/

 

代码:

class Solution {
public:
    vector<string> permutation(string s) {
        vector<string> res;
        sort(s.begin(), s.end());
        dfs(s, 0, s.size(), res);
        return res;
    }

    void dfs(string s, int l, int r, vector<string>& res) {
        if (l == r) res.push_back(s);
        else {
            for (int i = l; i < r; ++i) {
                if (i > l && s[i] == s[l]) continue;
                swap(s[i], s[l]);
                dfs(s, l + 1, r, res);
            }
        }
    }
};

 

以上是关于剑指OFFER----面试题38. 字符串的排列的主要内容,如果未能解决你的问题,请参考以下文章

剑指Offer面试题38. 字符串的排列

剑指Offer面试题38. 字符串的排列

[剑指offer]面试题28:字符串的排列

[Mdfs] lc剑指 Offer 38. 字符串的排列(全排列+枚举顺序+组合类型枚举+知识理解+模板题)

《剑指offer》第三十八题(字符串的排列)

剑指Offer对答如流系列 - 字符串的排列