1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| class Solution { public: vector<vector<int>> res; vector<int> path; int n; vector<vector<int>> subsets(vector<int>& nums) { n = nums.size(); dfs(nums, 0); return res; }
void dfs(vector<int>& nums, int u){ if(u == n){ res.push_back(path); return; }
path.push_back(nums[u]); dfs(nums, u + 1); path.pop_back(); dfs(nums, u + 1);
} };
|