leetcode 437. Path Sum III(路径和)(DFS)
来源:互联网 发布:网络在线肝病咨询 编辑:程序博客网 时间:2024/06/03 21:03
问题描述:
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.
思路:
首先很明显是采用深度有限搜索DFS。针对每一个结点,可以把它当作根结点,只要求出从根结点出发的路径数和其左右结点出发的路径数即可。那如何去求某一个结点出发的路径数?利用深度有限搜索进行检查。
代码:
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public int pathSum(TreeNode root, int sum) { if(root == null) return 0; return dfs(root, sum) + pathSum(root.left, sum) + pathSum(root.right, sum); } private int dfs(TreeNode root, int sum){ if(root == null) return 0; int num = 0; if(sum == root.val) num++; num += dfs(root.left, sum - root.val); num += dfs(root.right, sum - root.val); return num; }}
阅读全文
0 0
- leetcode 437. Path Sum III(路径和)(DFS)
- Leetcode 437. Path Sum III 路径和3 解题报告
- [LeetCode]437. Path Sum III(求二叉树中路径和等于sum的数量)
- leetcode 437. Path Sum III 深度优先遍历DFS
- LeetCode 437 Path Sum III (DFS)
- 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
- CSS常用属性
- 开启一个新线程,优化接口返回速度
- eclipse sts反编译插件
- JSR 303数据校验
- Android RecyclerView的使用(四)——点击事件
- leetcode 437. Path Sum III(路径和)(DFS)
- 字符编码 ASCII Unicode UTF-8
- 启动mysql
- 《Microsoft Power BI数据可视化与数据分析》之前言
- Algorithm之路二十:Valid Parentheses
- 浅谈Java中的hashcode方法
- xLog日志文件写入改成24小时制
- Linux永久关闭防火墙
- JavaScript初步1