1 class Solution { 2 public: 3 vector<vector<int> > subsets(vector<int> &S) { 4 sort(S.begin(), S.end()); 5 vector<vector<int> > res; 6 vector<int> path; 7 dfs(S, path, 0, res); 8 return res; 9 } 10 11 void dfs(vector<int>& s, vector<int>& cur, int pos, vector<vector<int> >& res) { 12 if (pos == s.size()) { 13 res.push_back(cur); 14 return; 15 } 16 // case 1. put the current number into the set 17 cur.push_back(s[pos]); 18 dfs(s, cur, pos + 1, res); 19 cur.pop_back(); 20 21 // case 2. skip the current number 22 dfs(s, cur, pos + 1, res); 23 } 24 };
起来水一发
LeetCode Subsets,布布扣,bubuko.com
原文:http://www.cnblogs.com/lailailai/p/3660000.html