给定一个含不同整数的集合,返回其所有的子集
注意事项
子集中的元素排列必须是非降序的,解集必须不包含重复的子集
样例
如果 S = [1,2,3]
,有如下的解:
[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]
class Solution {
public:
/*
* @param nums: A set of numbers
* @return: A list of lists
*/
vector<vector<int>> subsets(vector<int> &nums) {
// write your code here
vector<vector<int> > vs(1);
for (int i=0; i<nums.size(); ++i){
int size = vs.size();
for (int j=0; j<size; ++j){
vs.push_back(vs[j]);
vs.back().push_back(nums[i]);
}
}
return vs;
}
};