Leetcode-437. 路径总和 III(Java)
给定一个二叉树,它的每个结点都存放着一个整数值。
找出路径和等于给定数值的路径总数。
路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。
二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。
示例:
root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8
10
/ \
5 -3
/ \ \
3 2 11
/ \ \
3 -2 1
返回 3。和等于 8 的路径有:
1. 5 -> 3
2. 5 -> 2 -> 1
3. -3 -> 11
思路:先序遍历将所有结点都作为根结点
再先序遍历得出每个结点作为根节点时,路径和为目标值的结果
代码:
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
int count=0;
public int pathSum(TreeNode root, int sum) {
if(root==null) return 0;
helper(root,sum);
pathSum(root.left,sum);
pathSum(root.right,sum);
return count;
}
public void helper(TreeNode root, int sum){
if(root == null) return;
sum-=root.val;
if(sum == 0){
count++;
}
helper(root.left,sum);
helper(root.right,sum);
}
}
Leetcode-437. 路径总和 III(Java)相关推荐
- LeetCode 437. 路径总和 III
437. 路径总和 III 思路: 深度优先搜索,暴力搜索: 递归遍历每一个节点的所有可能路径,然后将这些路径书目加起来即为返回结果 首先定义rootSum(p,val)表示以节点p为起点向下且满足路 ...
- Leetcode 437.路径总和III
路径总和III 给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点). ...
- LeetCode 437. 路径总和 III(双重递归)
1. 题目 给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点). 二 ...
- leetcode - 437. 路径总和 III
给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点). 二叉树不超过1 ...
- 【LeetCode】【HOT】437. 路径总和 III(DFS)
[LeetCode][HOT]437. 路径总和 III 文章目录 [LeetCode][HOT]437. 路径总和 III package hot;class TreeNode{int val;Tr ...
- LeetCode 371. 两整数之和(异或操作) / 639. 解码方法 II(动态规划)/ 437. 路径总和 III
371. 两整数之和 2021.9.26 每日一题 题目描述 给你两个整数 a 和 b ,不使用 运算符 + 和 - ,计算并返回两整数之和. 示例 1: 输入:a = 1, b = 2 ...
- LeetCode——113 路径总和 II(JAVA)
给你二叉树的根节点 root和一个整数目标和 targetSum,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径. 叶子节点 是指没有子节点的节点. 示例 1: 输入:root = [5, ...
- 【LeetCode笔记】437. 路径总和III(Java、双重递归、二叉树)
文章目录 题目描述 思路 & 代码 题目描述 说实话确实比I & II要恶心一点 这里直接用双递归秒了(今天才发现我是之前先写的III,再写的I & II) 有前缀和的写法,但 ...
- leetcode 437. Path Sum III | 437. 路径总和 III(DFS,前缀和)
题目 https://leetcode.com/problems/path-sum-iii/ 题解 DFS+前缀和问题,注意节点可能为 0 的情况(也是因此发现应该用 HashMap 记录前缀和的个数 ...
- 437. 路径总和 III
给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点). 二叉树不超过1 ...
最新文章
- 【Visual C++】游戏开发笔记二十七 Direct3D 11入门级知识介绍
- Python 报错解决:AttributeError: 'module' object has no attribute 'SSL_ST_INIT'
- 每天一个python 小案例——if else
- 《数据库系统概念》7-函数、存储过程、触发器
- 奥城大学计算机专业,美国研究生院,双录取的学校有哪些?都有什么专业?
- 3.11 结论和致谢-深度学习第五课《序列模型》-Stanford吴恩达教授
- flowvisor 命令_mininet+FlowVisor+OpenDayLight环境搭建及实验一
- SharePoint自动化系列——Add/Remove Record from items
- stm32串口通信(初学者对于串口通信的理解)
- 云炬随笔20180421
- php ajax 框架,PHP开发框架kohana中处理ajax请求的例子
- 用触发器实现表的同步操作
- 语音识别基本原理介绍之gmm-hmm续
- MATLAB程序设计的绘图函数
- hao123劫持浏览器主页
- 【Matlab代码】Sierpinsk地毯
- 转 js控制excel打印完美解决方案
- 机器学习(算法篇)——K-近邻算法
- C#毕业设计——基于C#+asp.net+sqlserver的设备管理系统设计与实现(毕业论文+程序源码)——设备管理系统
- 区块链架构与交易流程(fabric1.0)
热门文章
- 程序员面试金典 - 面试题 02.01. 移除重复节点(哈希set)
- hbase的2.2.4版本支持哪个版本的hadoop_Hadoop 2.7 不停服升级到 3.2 在滴滴的实践
- 用python写一个手机app签到脚本_利用Python实现App自动签到领取积分
- zeal刷新不出来_饥荒:游戏中的这些事物都是无中生有,几乎可以无限制刷新!...
- java sftp mget_总结三种Shell脚本编程中避免SFTP输入密码的方法
- python中的孤儿进程
- AcWing之找出不改变数组找到重复的数字
- 聊聊推荐系统中的偏差
- Github星标超3k的推荐系统入门资料合集(含教程、论文、代码、数据)
- 会议交流 | 第十五届全国知识图谱与语义计算大会(CCKS 2021)12月25日线上召开...