题目:幂集。编写一种方法,返回某集合的所有子集。集合中不包含重复的元素。
说明:解集不能包含重复的子集。
示例:
输入: nums = [1,2,3]
输出:
[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]
解题思路:在原有的基础上增加元素,{},1,2,[1,2],3,[1,3],[2,3],[1,2,3]
class Solution {
public:
vector<vector<int>> record;
vector<vector<int>> subsets(vector<int>& nums) {
if(nums.size()==0)
return record;
//在原有的基础上增加元素
record.push_back({});
int i=0;
while(i<nums.size())
{
int len=record.size();
for(int j=0;j<len;j++)
{
vector<int> tmp(record[j].begin(),record[j].end());
tmp.push_back(nums[i]);
record.push_back(tmp);
}
i++;
}
return record;
}
};