78. 子集/C++
class Solution {
private:
vector<vector<int>> res;
vector<int> vec;
void generate(vector<int>& nums, int index){
if(vec.size()<=nums.size())
res.push_back(vec);
for(int i=index;i<nums.size();++i){
vec.push_back(nums[i]);
generate(nums,i+1);
vec.pop_back();
}
}
public:
vector<vector<int>> subsets(vector<int>& nums) {
res.clear();
if(nums.empty())
return res;
vec.clear();
generate(nums,0);
return res;
}
};