生成子集-非递归
vector<vector<int>> subsets(vector<int> &nums) {
// write your code here
sort(nums.begin(), nums.end());
int size = nums.size();
int N = 1 << size;
vector<vector<int>> res;
for (int i = 0; i < N; i++) {
int bits = i;
vector<int> subset;
int j = 0;
while (bits != 0) {
int flag = bits & 1;
if (flag == 1) {
subset.push_back(nums[j]);
}
j++;
bits = bits >> 1;
}
//子集在这里!
res.push_back(subset);
}
return res;
}