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

题目:面试题38. 字符串的排列

输入一个字符串,打印出该字符串中字符的所有排列。

你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。

示例:

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

限制:

1 <= s 的长度 <= 8

解题:


class Solution {
public:
    vector<string> permutation(string s) {
        if(s.empty()) return {};
        sort(s.begin(), s.end());
        vector<string> ans;
        ans.push_back(s);
        while(next_permutation(s.begin(), s.end())){
            ans.push_back(s);
        }
        return ans;
    }
};
发布了106 篇原创文章 · 获赞 113 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/qq_41598072/article/details/104621551