1、这几天找完工作没怎么做题手生了
和前几天的回溯一样
这道题只不过是没有限定子集的长度
class Solution {
public:
vector<vector<int>> subsets(vector<int>& nums) {
vector<vector<int>>vec;
if(nums.size() == 0)return vec;
vector<int>tmp;
dfs(nums,0,tmp,vec);
return vec;
}
void dfs(vector<int>& nums,int start, vector<int>& tmp,vector<vector<int>>& vec)
{
vec.push_back(tmp);
if(tmp.size() == nums.size())
{
return;
}
for(int i = start; i < nums.size(); i++)
{
tmp.push_back(nums[i]);
dfs(nums,i+1,tmp,vec);
tmp.pop_back();
}
}
};