Recursive
class Solution {
public:
vector<vector<int>> ret;
vector<int> path;
vector<vector<int>> subsets(vector<int>& nums) {
sort(nums.begin(), nums.end());
helper(nums,0);//不是for loop!!!
return ret;
}
void helper(vector<int>& nums, int step){
if(step==nums.size()){
ret.push_back(path);
return;
}
helper(nums,step+1);
path.push_back(nums[step]);
helper(nums,step+1);
path.pop_back();
}
};
Last updated
Was this helpful?