diff --git a/solutions/78. Subsets.md b/solutions/78. Subsets.md index 131a6c0..b74ec04 100644 --- a/solutions/78. Subsets.md +++ b/solutions/78. Subsets.md @@ -23,6 +23,33 @@ # C++ ## 思路一 +### 好理解版 +``` C++ +class Solution { +private: + void DFS(vector>&res, vector&subset, const vector& nums, int level){ + if(level == nums.size()) { // 到达叶节点 + res.push_back(subset); + return; + } + // 向左子树下降 + subset.push_back(nums[level]); + DFS(res, subset, nums, level + 1); + subset.pop_back(); + // 向右子树下降 + DFS(res, subset, nums, level + 1); + } +public: + vector> subsets(vector& nums) { + vector>res; + vectorsubset; + sort(nums.begin(), nums.end()); + DFS(res, subset, nums, 0); + return res; + } +}; +``` +### 简洁版 ``` C++ class Solution { private: