From af20651892283d5570ada885f0962bba82117489 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=94=90=E6=A0=91=E6=A3=AE?= Date: Fri, 22 Mar 2019 14:57:49 +0800 Subject: [PATCH] Update 78. Subsets.md --- solutions/78. Subsets.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) 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: