跳到主要内容

子集

https://leetcode.cn/leetbook/read/top-interview-questions-medium/xv67o6/

cost: 6m33s

class Solution {
public:
vector<vector<int>> subsets(vector<int>& nums) {
vector<vector<int>> res;
vector<int> vec;
this->walk(res, nums, 0, vec);
return res;
}

private:
void walk(vector<vector<int>>& res, vector<int>& nums, int k,
vector<int>& vec) {
if (nums.size() == k) {
res.push_back(vec);
return;
}
this->walk(res, nums, k + 1, vec);
vec.push_back(nums[k]);
this->walk(res, nums, k + 1, vec);
vec.pop_back();
}
};