leetcode-华为专题-46. 全排列

 

 

class Solution {
public:
    vector<vector<int>> res;
    vector<vector<int>> permute(vector<int>& nums) {
        vector<int> temp;
        for(int i = 0; i < nums.size(); i++){
            temp.push_back(nums[i]);
        }
        backtrack(nums,temp,0);
        return res;

    }
    void backtrack(vector<int>& nums,vector<int>& temp, int index){
        if(index==nums.size()){
            res.push_back(temp);
            return;
        }
        for(int i = index; i < nums.size(); i++){
            swap(temp[index], temp[i]);
            backtrack(nums, temp, index+1);
            swap(temp[i],temp[index]);
        }
    }

};

 

posted @ 2021-08-18 14:59  三一一一317  阅读(42)  评论(0)    收藏  举报