Skip to content

Commit b5588f8

Browse files
Create subsets.cpp
1 parent d557b45 commit b5588f8

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

subsets.cpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
class Solution {
2+
3+
private:
4+
5+
6+
void backtrack(vector<vector<int>> &global_result, vector<int> &local_result, vector<int>& nums, int start) {
7+
global_result.push_back(local_result);
8+
for(int i=start; i<nums.size(); i++) {
9+
local_result.push_back(nums[i]);
10+
backtrack(global_result, local_result, nums, i+1);
11+
local_result.pop_back();
12+
}
13+
}
14+
15+
public:
16+
vector<vector<int>> subsets(vector<int>& nums) {
17+
if(nums.size() == 0) return vector<vector<int>>();
18+
vector<vector<int>> global_result;
19+
vector<int> local_result;
20+
21+
backtrack(global_result, local_result, nums, 0);
22+
return global_result;
23+
24+
}
25+
};

0 commit comments

Comments
 (0)