53. Leetcode 112. 路径总和 (二叉树-二叉树路径和)
给你二叉树的根节点 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. 路径总和 (二叉树-二叉树路径和)相关推荐
- 54. Leetcode 113. 路径总和 II (二叉树-二叉树路径和)
给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径.叶子节点 是指没有子节点的节点.示例 1: 输入:root = [5, ...
- LeetCode 112. 路径总和 、113. 路径总和 II 思考分析
目录 112. 路径总和 题目 递归解 递归解,其他人的解法 迭代解,其他人的解法 113. 路径总和 II 题目 递归解 递归解,参考别人的思路 112. 路径总和 题目 给定一个二叉树和一个目标和 ...
- LeetCode(合集) 路径总和(二叉树) golang copy的值复制
112. 路径总和 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标 ...
- Suzy找到实习了吗Day 18 | 二叉树进行中:513 找树左下角的值,112 路径总和 ,106.从中序与后序遍历序列构造二叉树
513 找树左下角的值 solution # Definition for a binary tree node. # class TreeNode: # def __init__(self, val ...
- C++描述 LeetCode 112. 路径总和
C++描述 LeetCode 112. 路径总和 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更 ...
- [二叉树路径总和] 一杯茶一包烟,一个递归转一天
LeetCode 第112题 路径总和 做题记录 题目描述![在这里插入图片描述](https://img-blog.csdnimg.cn/20210409154915348.png?x-oss-pr ...
- leetcode系列--112. 路径总和
leetcode系列–第112题.路径总和 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum . 判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标 ...
- 代码随想录第18天|找树左下角的值,路径总和,从中序和后序遍历序列构造二叉树
LeetCode513.找树左下角的值 题目链接:513. 找树左下角的值 - 力扣(LeetCode) 思路: 迭代法(只需要记录最后一行第一个节点的数值就可以了.): /*** Definitio ...
- 经典笔试题: 二叉树中和为某一值的路径(路径总和)
微信搜一搜:bigsai 大家都在关注的刷题.学习数据结构和算法宝藏项目 关注回复进群即可加入力扣打卡群,欢迎划水. 这两题是相似问题,循序渐进.也是力扣和剑指offer的经典题. 路径总和 题目描述 ...
最新文章
- Asp.NET 的几个高级技巧
- [开心]很搞笑的贴图,必看(收藏)
- Jenkins搭建的几个坑记下
- JSONObject、JSONArray区别
- scala Akka并发编程介绍
- wxWidgets:wxCollapsiblePaneEvent类用法
- php显示html表单内容,HTML表单是什么?HTML表单内容的详细介绍(附代码)
- olcd12864的u8g2库_Arduino为什么无法用u8g2驱动12864OLED屏?求找出错误
- jQuery 3 有哪些新东西
- 避免野指针的方法及结构体小细节
- 函数参数中的中括号代表什么
- 《Hadoop实战(第2版)》迷你书
- canbus是什么意思_canbus.是什么意思
- html代码广告代码大全,强制弹窗广告代码大全.doc
- matlab中inf怎么判断,MATLAB中Inf或inf表示()、NaN或nan表示()、nargout表示()。
- 有关win10的C:/ProgramFiles\WindowsApps\文件系统错误(12007)问题
- mysql vtype_ExtJs6学习笔记 -- 自定义 vtype
- 小程序的createInnerAudioContext在iOS没有声音的解决方法
- ABAP SE54 视图簇
- 用pygame实现一个简单的垃圾分类小游戏(已获校级二等奖)