Leetcode 113. 路径总和 II 解题思路及C++实现
生活随笔
收集整理的這篇文章主要介紹了
Leetcode 113. 路径总和 II 解题思路及C++实现
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
解題思路:
典型的深度優(yōu)先搜索或回溯法的問題。
?
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/ class Solution { public:vector<vector<int>> pathSum(TreeNode* root, int sum) {vector<vector<int>> res;vector<int> cur;dfs(root, res, cur, sum);return res;}void dfs(TreeNode* root, vector<vector<int> >& res, vector<int>& cur, int sum){if(!root) return;cur.push_back(root->val);if(root && !root->left && !root->right && sum == root->val) //葉子節(jié)點(diǎn)res.push_back(cur);dfs(root->left, res, cur, sum-root->val);dfs(root->right, res, cur, sum-root->val);cur.pop_back();} };?
?
總結(jié)
以上是生活随笔為你收集整理的Leetcode 113. 路径总和 II 解题思路及C++实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode 106. 从中序与后序
- 下一篇: python的re.findall()函