标签:
class Solution { public: void swap(int& a, int&b) { int temp=a; a=b; b=temp; } bool ifduplicate(vector<int> nums, int n, int i) { while(n<i) { if(nums[n]==nums[i]) return false; n++; } return true; } void permutation(vector<vector<int>>& res, vector<int>& nums, int n) { if(n==nums.size()-1) { res.push_back(nums); return; } for(int i=n;i<nums.size();i++) { if(!ifduplicate(nums,n,i)) continue; swap(nums[i],nums[n]); permutation(res, nums, n+1); swap(nums[i],nums[n]); } } vector<vector<int>> permuteUnique(vector<int>& nums) { vector<vector<int>> res; if(nums.size()==0) return res; permutation(res,nums,0); return res; } };
标签:
原文地址:http://www.cnblogs.com/summerkiki/p/5547523.html