47.全排列
1.题目
47. 全排列 II - 力扣(LeetCode)https://leetcode.cn/problems/permutations-ii/description/
2.思路
注意剪枝的条件
3.代码
class Solution
{vector<int> path;vector<vector<int>> ret;bool check[9];
public:vector<vector<int>> permuteUnique(vector<int>& nums) {sort(nums.begin(),nums.end());dfs(nums,0);return ret;}void dfs(vector<int>& nums,int pos){if(pos==nums.size()){ret.push_back(path);return;}for(int i=0;i<nums.size();i++){//不合法的条件if(check[i]==true||(i!=0&&nums[i]==nums[i-1]&&check[i-1]==false))continue;path.push_back(nums[i]);check[i]=true;dfs(nums,pos+1);check[i]=false;path.pop_back();}}
};