給定一組不含重複元素的整數數組 nums,返回該數組所有可能的子集(冪集)。
說明:解集不能包含重複的子集。
示例:
輸入: nums = [1,2,3] 輸出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]
class Solution {
public:
vector<vector<int>> subsets(vector<int>& nums) {
vector<int> item;
vector<vector<int> > result;
result.push_back(item);
generate(0,nums,item,result);
return result;
}
private:
void generate(int i , vector<int> &nums , vector<int> &item , vector<vector<int> > &result){
if(i>=nums.size())
return;
item.push_back(nums[i]);
result.push_back(item);
generate(i+1,nums,item,result);
item.pop_back();
generate(i+1,nums,item,result);
}
};