Path Sum II
来源:互联网 发布:基于tp框架的cms 编辑:程序博客网 时间:2024/06/05 08:46
题目名称
113. Path Sum II
描述
Given a binary tree and a sum, find all root-to-leaf paths where each path’s sum equals the given sum.
For example:
Given the below binary tree and sum = 22,
5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1
return
[ [5,4,11,2], [5,8,4,5]]
分析
采用深度优先遍历,遍历根结点到叶子结点的每一条路径,将值等于目标值的路径保存。
C++代码
/** * 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> path; DFS(root,sum,path,res); return res; }private: void DFS(TreeNode *T,int sum,vector<int> &path,vector<vector<int>> &res) { if(!T) return; path.push_back(T->val); if(T->val==sum && T->left==NULL &&T->right==NULL){ res.push_back(path); } DFS(T->left,sum-T->val,path,res); DFS(T->right,sum-T->val,path,res); path.pop_back(); return; }};
总结
最近在学习图的遍历算法,总算有点头绪了,这道题也是在参考了别人的答案之后自己写出来的。
0 0
- LeetCode: Path Sum II
- LeetCode Path Sum II
- [Leetcode] Path Sum II
- LeetCode: Path Sum II
- Path Sum II
- [LeetCode] Path Sum II
- 【leetcode】Path Sum II
- [113]Path Sum II
- Path Sum II
- Path Sum II
- [LeetCode]Path Sum II
- Path Sum II
- Path Sum II
- [Leetcode]Path Sum II
- [leetcode]Path Sum II
- Path Sum II
- Leetcode: Path Sum II
- Path Sum II
- iOS消息转发机制
- java泛型
- iOS对耗时操作的处理方法
- java.lang.NoClassDefFoundError: Could not initialize class java.awt.Toolkit异常的解决方法
- 浅谈决策树算法以及matlab实现ID3算法
- Path Sum II
- android创建多线程的方法
- LeetCode Group Anagrams
- java中的内部类总结
- Linux下的MYSQL主主复制
- UI AutoLayer 自动布局-->约束
- Error: Cannot find configuration directory: /etc/hadoop
- MySQL 性能优化
- 初学hibernate笔记