LeetCode#78 | Nobilta's Blog
0%

LeetCode#78

LeetCode#78子集

题目链接
一道基础的回溯题(这几天怎么都是回溯)与全排列问题类似,区别是需要在每一次遍历的时候分别保存结果,而不是当找到nums.size()的时候再保存结果
附代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution {
public:
void dfs(vector<int>& nums,vector<vector<int>>& ans,vector<int> &temp,int pos)
{
if(pos == nums.size())
return;
for(int i = pos ; i < nums.size() ; i++)
{
temp.push_back(nums[i]);
ans.push_back(temp);
dfs(nums,ans,temp,i+1);
temp.pop_back();
}
}
vector<vector<int>> subsets(vector<int>& nums) {
vector<vector<int>>ans;
vector<int>temp;
ans.push_back(temp);
dfs(nums,ans,temp,0);
return ans;
}
};
您的支持将鼓励我继续创作!