78. Subsets
class Solution { public: vector<vector<int>> subsets(vector<int>& nums) { vector<vector<int> > v; vector<int> temp; int length = nums.size(); for(int i=1; i <= length; ++i) { Combination(nums.begin(), i, temp, v, nums.end()); } v.push_back(temp); return v; } void Combination(vector<int>::iterator it, int n, vector<int>& temp, vector<vector<int> >& v, vector<int>::iterator end) { if(n == 0) { v.push_back(temp); return; } if(it == end) return; temp.push_back(*it); Combination(it+1, n-1, temp, v, end); temp.pop_back(); Combination(it+1, n, temp, v, end); } };