题目链接:https://leetcode-cn.com/problems/subsets/
题目如下:
class Solution {
public:
vector<vector<int>> subsets(vector<int>& nums) {
backtracking(nums,0);
return result;
}
void backtracking(vector<int>& nums,int startIndex){
result.push_back(path);//求取子集问题时,不需要任何剪枝。因为子集就是要遍历整棵树
if(startIndex>=nums.size()) return;
for(int i=startIndex;i<nums.size();i++){
path.push_back(nums[i]);
backtracking(nums,i+1);
path.pop_back();
}
}
private:
vector<vector<int>> result;
vector<int> path;
};