class Solution {
public:
vector<vector<int> > subsets(vector<int> &S) {
vector<vector<int>> res;
vector<int> list;
if(S.size()==0)
{
res.push_back(list);
}
else
{
int head = S[0];
S.erase(S.begin());
vector<vector<int>>res_temp = subsets(S);
for(int i=0;i<res_temp.size();i++)
{
list = res_temp[i];
res.push_back(list);
list.push_back(head);
sort(list.begin(),list.end());
res.push_back(list);
}
}
return res;
}
};
原文:http://blog.csdn.net/majing19921103/article/details/44874425