[LeetCode]437. Path Sum III
来源:互联网 发布:淘宝开店保证金30元 编辑:程序博客网 时间:2024/06/03 08:01
题目描述:You are given a binary tree in which each node contains an integer value.
Find the number of paths that sum to a given value.
The path does not need to start or end at the root or a leaf, but it must go downwards (traveling only from parent nodes to child nodes).
The tree has no more than 1,000 nodes and the values are in the range -1,000,000 to 1,000,000.
Example:
root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8
10 / \ 5 -3 / \ \3 2 11/ \ \3 -2 1
Return 3. The paths that sum to 8 are:
5 -> 3
5 -> 2 -> 1
-3 -> 11
分析:查找从父节点到子节点路径之和为给定的数的这种情况的总数
Each time find all the path start from current node
Then move start node to the child and repeat.
Time Complexity should be O(N^2) for the worst case and O(NlogN) for balanced binary Tree.
解题思路:利用DFS递归求值
/** * 先序遍历 求值 * @param root * @param sum * @return */ public int pathSum(TreeNode root, int sum) { //判断特殊情况 if(root==null)return 0; return findPath(root,sum)+pathSum(root.left,sum)+pathSum(root.right,sum); } public int findPath(TreeNode root,int sum){ if(root==null)return 0; //记录符合条件的总数 return sum==root.val?1:0+findPath(root.left,sum-root.val)+findPath(root.right,sum-root.val); }
- LeetCode 437. Path Sum III
- LeetCode 437. Path Sum III
- LeetCode 437. Path Sum III
- leetcode 437. Path Sum III
- [LeetCode]437. Path Sum III
- 【LeetCode】 437. Path Sum III
- [leetcode]437. Path Sum III
- LeetCode 437. Path Sum III
- [leetcode]437. Path Sum III
- [LeetCode]437. Path Sum III
- Leetcode-437. Path Sum III
- Leetcode-437. Path Sum III
- LeetCode-437. Path Sum III
- 【Leetcode】437. Path Sum III
- 【Leetcode】437. Path Sum III
- Leetcode 437. Path Sum III
- [LeetCode]437. Path Sum III
- [leetcode]: 437. Path Sum III
- D
- HDU 1754 I Hate It
- 每日英语阅读(六十九)
- 新技术的了解-spring boot中提及
- 新的新产品开发游戏–六个特征来提高企业创新竞争力
- [LeetCode]437. Path Sum III
- 常用web插件收集(长期更新...)
- freemarker 图片输出、多张图片输出(图片重复原因及解决)
- MyISAM和InnoDB索引实现对比
- 条件概率、全概率公式与贝叶斯公式
- C++如何在类的成员函数中表示同名的全局变量?
- E
- C语言常用的宏命令
- Windows上TensorFlow、TensorBoard、TFlearn安装教程