[LC] 112题 路径总和(在二叉树里判断是否有哪条路径之和等于某个值)
①题目
给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。
说明: 叶子节点是指没有子节点的节点。
示例: 
给定如下二叉树,以及目标和 sum = 22,

返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11->2。
②思路
用总和sum去减去每次遍历时的根值
③代码
 class Solution {
   public boolean hasPathSum(TreeNode root, int sum) {
     if (root == null)
       return false;
     sum -= root.val;    //减
     if ((root.left == null) && (root.right == null))   //判断当前是否已经遍历到了叶子结点
       return (sum == 0);
     return hasPathSum(root.left, sum) || hasPathSum(root.right, sum);
   }
 }
④学到的东西
1、第7行判断是否到达叶子结点
2、第8行比较简洁,学一学,不要写成以前的if(sum==0) return true了。
[LC] 112题 路径总和(在二叉树里判断是否有哪条路径之和等于某个值)的更多相关文章
- 【LeetCode】113. Path Sum II 路径总和 II 解题报告(Python)
		作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.me/ 文章目录 题目描述 题目大意 解题方法 BFS DFS 日期 题目地址:https:// ... 
- LeetCode 112. 路径总和 (递归遍历二叉树)
		题目链接:https://leetcode-cn.com/problems/path-sum/ 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和 ... 
- Leecode刷题之旅-C语言/python-112 路径总和
		/* * @lc app=leetcode.cn id=112 lang=c * * [112] 路径总和 * * https://leetcode-cn.com/problems/path-sum/ ... 
- LeetCode:路径总和【112】
		LeetCode:路径总和[112] 题目描述 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和. 说明: 叶子节点是指没有子节点的节点. 示例 ... 
- LeetCode 112. 路径总和(Path Sum) 10
		112. 路径总和 112. Path Sum 题目描述 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和. 说明: 叶子节点是指没有子节点的节 ... 
- Java实现 LeetCode 112 路径总和
		112. 路径总和 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标 ... 
- 【二叉树-所有路经系列(根->叶子)】二叉树的所有路径、路径总和 II、路径总和、求根到叶子节点数字之和(DFS)
		总述 全部用DFS来做 重点一:参数的设置:为Root,路径字符串,路径List集合. 重点二:步骤: 1 节点为null 2 所有节点的操作 3 叶子结点的操作 4 非叶节点的操作 题目257. 二 ... 
- 112 Path Sum 路径总和
		给定一棵二叉树和一个总和,确定该树中是否存在根到叶的路径,这条路径的所有值相加等于给定的总和.例如:给定下面的二叉树和 总和 = 22, 5 / \ ... 
- 第113题:路径总和II
		一. 问题描述 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标和 sum = 22, 5 ... 
随机推荐
- Python_生成随机验证码
			内置函数 chr() ord() 这两个内置函数是用来对十进制(十六进制也可以)与ASCii之间进行转换 chr() : 将十进制转换成ASCii对应字母或符号 t_1 = chr(99) t_2 = ... 
- ThinkPhp3.1.3执行存储过程返回false
			1.Tp在调用存储过程的时候,每次都显示false 返回一大片,下面是我自己的代码. 
- [NOIp2009] luogu P1071 潜伏者
			翘课间操和体育课来水博客. 题目描述 CCF的题面贼长,但貌似除了背景以外,每句话都删不掉.不写啦,反正也是Ctrl C的. Solution 显然这是一道码农题. #include<cstdi ... 
- 我家很管事的猫——mycat初步部署实践与问题排查
			mycat,阿里出品的mysql中间件,提供读写分离和分库分表方案.项目中主要使用的是其读写分离功能. [如何部署?] 本文只采用并测试了双主从模式,配置看这一篇足矣: https://www.cnb ... 
- MakeDownPad2基本使用
			一.安装 1.1.MakeDownPad2下载安装 MakeDownPad2从官网下载安装包直接安装即可 1.2.依赖安装 MakeDownPad2支持html代码,如果要使用预览功能就需要安装awe ... 
- 8.Linux用户管理(上)
			1.什么是用户? 能正常登陆系统的都算用户 windows系统和linux系统的用户有什么区别? 本质上没有区别, linux支持多个用户同一时刻登陆系统, 互相之间不影响 而windows只允许同一 ... 
- 百万年薪python之路  --  模块
			1.自定义模块 1.1.1 模块是什么? 模块就是文件,存放一堆常用的函数和变量的程序文件(.py)文件 1.1.2 为什么要使用模块? 1.避免写重复代码,从文件级别组织程序,更方便管理 2.可以多 ... 
- Codeblocks 等软件 修改源代码后 不能立即执行的解决办法||exe文件删除慢
			不懈地奋斗了两天,终于找到原因了. 记录如下 症状: Codeblocks .Visual Studio 都出现此问题:修改源代码 无法立即执行 ,就是:cannot open output file ... 
- 如何在Spring Boot项目中巧妙利用策略模式干掉if else!
			直入主题 我们都知道,设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路.它不是语法规定,而是一套用来提高代码可复用性.可维护性.可读性.稳健性以及安全性 ... 
- SpringBoot整合MybatisPlus3.X之逻辑删除(三)
			pom.xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId& ... 
