78. Subsets
Given a set of distinct integers, nums, return all possible subsets.
Note: The solution set must not contain duplicate subsets.
For example,
If nums = [1,2,3]
, a solution
is:
[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]加入vector<bool> used判断元素是否已经被用过,DFS
class Solution {
//vector used用于判断当前的数是否被用过
void dfs(vector & nums, vector> & r,vector &v,vector used)
{
if(nums.size()==v.size())//最后一次要退出时,不要忘记加上本身
{
r.push_back(nums);
return;
}
for(int i=0;i> subsets(vector& nums) {
int n=nums.size();
vector> r;
vector v;
vector used(n,false);
dfs(nums,r,v,used);
return r;
}
};