leetode 全排列 中等

 

 

class Solution {
public:
    vector<vector<int>> permute(vector<int>& nums) {
        solve(nums, 0, nums.size());
        return ans;
    }

    // solve 也可不用参数 r
    void solve(vector<int> &nums, int l, int r) {
        if(l == r) {
            ans.emplace_back(nums);
            return;
        }
        for(int i = l; i < r; ++ i) {
            if(i != l) swap(nums[l], nums[i]);
            solve(nums, l + 1, r);
            if(i != l) swap(nums[l], nums[i]);
        }
    }

    vector<vector<int>> ans;
};

 

posted @ 2021-07-28 21:34  rookie_Acmer  阅读(41)  评论(0)    收藏  举报