给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。叶子节点 是指没有子节点的节点。示例 1:输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22
输出:true
解释:等于目标和的根节点到叶节点路径如上图所示。
示例 2:输入:root = [1,2,3], targetSum = 5
输出:false
解释:树中存在两条根节点到叶子节点的路径:
(1 --> 2): 和为 3
(1 --> 3): 和为 4
不存在 sum = 5 的根节点到叶子节点的路径。
示例 3:输入:root = [], targetSum = 0
输出:false
解释:由于树是空的,所以不存在根节点到叶子节点的路径。# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def hasPathSum(self, root: Optional[TreeNode], targetSum: int) -> bool:# 方法一 递归if root == None:return Falseif root.left == None and root.right == None and root.val == targetSum:return Truereturn self.hasPathSum(root.left, targetSum-root.val) or self.hasPathSum(root.right, targetSum - root.val)# 方法二 if root == None:return Falsestack = [(root, targetSum)]while stack:node, sum = stack.pop()if node.left == None and node.right == None and node.val == sum:return Trueif node.left != None:stack.append((node.left, sum - node.val))if node.right != None:stack.append((node.right, sum - node.val))return False

53. Leetcode 112. 路径总和 (二叉树-二叉树路径和)相关推荐

  1. 54. Leetcode 113. 路径总和 II (二叉树-二叉树路径和)

    给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径.叶子节点 是指没有子节点的节点.示例 1: 输入:root = [5, ...

  2. LeetCode 112. 路径总和 、113. 路径总和 II 思考分析

    目录 112. 路径总和 题目 递归解 递归解,其他人的解法 迭代解,其他人的解法 113. 路径总和 II 题目 递归解 递归解,参考别人的思路 112. 路径总和 题目 给定一个二叉树和一个目标和 ...

  3. LeetCode(合集) 路径总和(二叉树) golang copy的值复制

    112. 路径总和 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标 ...

  4. Suzy找到实习了吗Day 18 | 二叉树进行中:513 找树左下角的值,112 路径总和 ,106.从中序与后序遍历序列构造二叉树

    513 找树左下角的值 solution # Definition for a binary tree node. # class TreeNode: # def __init__(self, val ...

  5. C++描述 LeetCode 112. 路径总和

    C++描述 LeetCode 112. 路径总和   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更 ...

  6. [二叉树路径总和] 一杯茶一包烟,一个递归转一天

    LeetCode 第112题 路径总和 做题记录 题目描述![在这里插入图片描述](https://img-blog.csdnimg.cn/20210409154915348.png?x-oss-pr ...

  7. leetcode系列--112. 路径总和

    leetcode系列–第112题.路径总和 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum . 判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标 ...

  8. 代码随想录第18天|找树左下角的值,路径总和,从中序和后序遍历序列构造二叉树

    LeetCode513.找树左下角的值 题目链接:513. 找树左下角的值 - 力扣(LeetCode) 思路: 迭代法(只需要记录最后一行第一个节点的数值就可以了.): /*** Definitio ...

  9. 经典笔试题: 二叉树中和为某一值的路径(路径总和)

    微信搜一搜:bigsai 大家都在关注的刷题.学习数据结构和算法宝藏项目 关注回复进群即可加入力扣打卡群,欢迎划水. 这两题是相似问题,循序渐进.也是力扣和剑指offer的经典题. 路径总和 题目描述 ...

最新文章

  1. Asp.NET 的几个高级技巧
  2. [开心]很搞笑的贴图,必看(收藏)
  3. Jenkins搭建的几个坑记下
  4. JSONObject、JSONArray区别
  5. scala Akka并发编程介绍
  6. wxWidgets:wxCollapsiblePaneEvent类用法
  7. php显示html表单内容,HTML表单是什么?HTML表单内容的详细介绍(附代码)
  8. olcd12864的u8g2库_Arduino为什么无法用u8g2驱动12864OLED屏?求找出错误
  9. jQuery 3 有哪些新东西
  10. 避免野指针的方法及结构体小细节
  11. 函数参数中的中括号代表什么
  12. 《Hadoop实战(第2版)》迷你书
  13. canbus是什么意思_canbus.是什么意思
  14. html代码广告代码大全,强制弹窗广告代码大全.doc
  15. matlab中inf怎么判断,MATLAB中Inf或inf表示()、NaN或nan表示()、nargout表示()。
  16. 有关win10的C:/ProgramFiles\WindowsApps\文件系统错误(12007)问题
  17. mysql vtype_ExtJs6学习笔记 -- 自定义 vtype
  18. 小程序的createInnerAudioContext在iOS没有声音的解决方法
  19. ABAP SE54 视图簇
  20. 用pygame实现一个简单的垃圾分类小游戏(已获校级二等奖)

热门文章

  1. 小程序自动化测试--测试3
  2. 记一次对 Laravel-permission 项目的性能优化
  3. linux 添加用户
  4. 编写unit test以及自动化测试WebDriver
  5. IT人士,你的知识需要管理。
  6. 数据库进阶系列之三:使用Logminer解析Oracle日志
  7. SPI总线(一):基本原理篇
  8. java在cmd下编译运行
  9. PAT甲级1021 Deepest Root :[C++题解]树的最大深度、并查集、dfs求树的深度
  10. linux驱动 打印变量,linux驱动 内核函数 变量 宏定义