46. 全排列

46. 全排列

LeetCode刷题打卡第029天 (第1篇)20210807

题目链接

46. 全排列

代码

class Solution {
public:
    vector<vector<int>> permute(vector<int>& nums) {
       vector<vector<int> > ans;
       backtrack(nums,0,ans);  //传递参数,代表第0层
       return ans; 
    }
    void backtrack(vector<int> &nums,int depth,vector<vector<int> >&ans){
        if(depth==nums.size()) {   //根据树的知识,可以得当触底时进行返回
            ans.push_back(nums);
            return;
        }
        for(int i=depth;i<nums.size();i++){
            swap(nums[i],nums[depth]);
            backtrack(nums,depth+1,ans);
            swap(nums[i],nums[depth]);
        }
    
    }
};
上一篇:leetcode-46 全排列


下一篇:46. 全排列