diff --git a/solution/0100-0199/0113.Path Sum II/Solution.cpp b/solution/0100-0199/0113.Path Sum II/Solution.cpp new file mode 100644 index 0000000000000..402c7f26ea665 --- /dev/null +++ b/solution/0100-0199/0113.Path Sum II/Solution.cpp @@ -0,0 +1,21 @@ +class Solution { +public: + vector> pathSum(TreeNode* root, int sum) { + vector> res; + vector out; + helper(root, sum, out, res); + return res; + } + +private: + void helper(TreeNode *node, int sum, vector &out, vector> &res) { + if (!node) return; + out.push_back(node->val); + if (sum == node->val && !node->left && !node->right) { + res.push_back(out); + } + helper(node->left, sum - node->val, out, res); + helper(node->right, sum - node->val, out, res); + out.pop_back(); + } +}; \ No newline at end of file