原文地址:http://www.cnblogs.com/felixfang/p/3775712.html
Given a set of distinct integers, nums, return all possible subsets.
Note:
- Elements in a subset must be in non-descending order.
- The solution set must not contain duplicate subsets.
class Solution {
public:
vector<vector<int>> subsets(vector<int>& nums) {
vector<vector<int> > result;
vector<int> emp;
result.push_back(emp);
sort(nums.begin(),nums.end());
int len=nums.size();
if(len==0) return result;
for(vector<int>::iterator ind=nums.begin();ind<nums.end();ind++)
{
int size=result.size();
for(int i=0;i<size;i++)
{
vector<int> v;
for(vector<int>::iterator j=result[i].begin();j<result[i].end();j++)
{
v.push_back(*j);
}
v.push_back(*ind);
result.push_back(v);
}
}
return result;
}
};