leetcode46. Permutations 剑指offer字符串的排列

两个题差不多,只是剑指没有保证输入的字符串没有重复的字符,并要求输出不重复,所以用了set来保证排列的结果不重复

class Solution {
public:
    vector<vector<int>> permute(vector<int>& nums) {
        permute(nums,0);
        return res;
    }
    void permute(vector<int>& nums,int begin){
        if(begin == nums.size() - 1)
            res.push_back(nums);
        for(int i = begin;i < nums.size();i++){
            swap(nums[i],nums[begin]);
            permute(nums,begin+1);
            swap(nums[i],nums[begin]);
        }
    }
    vector<vector<int>> res;
};

猜你喜欢

转载自www.cnblogs.com/ymjyqsx/p/10494767.html