【40】78. Subsets

78. Subsets

Description Submission Solutions Add to List

  • Total Accepted: 140573
  • Total Submissions: 377635
  • Difficulty: Medium
  • Contributors: Admin

Given a set of distinct integers, nums, return all possible subsets.

Note: The solution set must not contain duplicate subsets.

For example,
If nums = [1,2,3], a solution is:

[
  [3],
  [1],
  [2],
  [1,2,3],
  [1,3],
  [2,3],
  [1,2],
  []
]

 1 class Solution {
 2 public:
 3     vector<vector<int>> subsets(vector<int>& nums) {
 4         vector<vector<int>> res;
 5         vector<int> level;
 6         dfs(nums, 0, res, level);
 7         return res;
 8     }
 9     
10     void dfs(vector<int>& nums, int start, vector<vector<int>>& res, vector<int>& level){
11         res.push_back(level);
12         for(int i = start; i < nums.size(); i++){
13             level.push_back(nums[i]);
14             dfs(nums, i + 1, res, level);
15             level.pop_back();
16         }
17     }
18 };

 

posted @ 2017-02-09 09:45  会咬人的兔子  阅读(166)  评论(0编辑  收藏  举报