首页 > 其他分享 >112. 路径总和

112. 路径总和

时间:2023-08-01 22:01:33浏览次数:33  
标签:right val self 路径 targetSum 112 root 节点 总和

给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。

示例 1:

112. 路径总和_二叉树

输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22
输出:true

示例 2:

112. 路径总和_二叉树_02

输入:root = [1,2,3], targetSum = 5
输出: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 is None:
            return False
        if root.left is None and root.right is None:
            return targetSum == root.val
        return self.hasPathSum(root.left, targetSum-root.val) or self.hasPathSum(root.right, targetSum-root.val)

递归,每遍历一个节点,就减掉该节点的值。一直到叶子节点,判断有没有叶子节点等于最后的值。

标签:right,val,self,路径,targetSum,112,root,节点,总和
From: https://blog.51cto.com/u_16123878/6929040

相关文章

  • pycharm配置webots外部控制器,同时添加多个路径,使得能够使用ROS
    1.先配置pycharm的PojectStructure打开Pycharm-->File-->Settings-->Project:项目名-->ProjectStructure-->+AddContentRoot,添加上会用到的库/opt/ros/melodic/lib/python2.7/dist-packages/usr/local/webots/lib/controller/python39/home/xx/multi-ro......
  • 重装Anaconda,指定虚拟环境路径,清华源,Jupyter,zipline
    重装Anaconda,指定虚拟环境路径,清华源,Jupyter,zipline前言:使用conda命令不成功的时候,查官网文档。1、清理虚拟环境&卸载anaconda:2、下载Anaconda官网2.1[下载官网——https://www.anaconda.com/](https://www.anaconda.com/)2.2安装地址:自行选择,关系到下文的环境变量配置3、配置......
  • Windows计划任务执行路径的问题(转载)
    Windows计划任务定时执行可执行程序的时候,如果程序内加载资源文件有相对路径的存在,那么当运行计划任务的时候就会报出一个路径找不到的错误(手动执行可执行程序则无任何问题)。如下图那么在设置计划任务的时候只需要做如下修改就可以避免此类错误的出现,在操作的tab页,起始于:将程序......
  • Unity之 GameObject.Find()路径正确却找不到物体
    有一个需求,需要用代码找到一个GameObject并将其取消激活。我是这么写的:GameObject.Find("mainCanvas").SetActive(false);但你运行后就会发现它报错;而报错的内容是找不到物体。反复核实路径正确,且物体确实是激活状态后我对这个代码的报错感到很不解。直到我把代码改成了:v......
  • HDU1151—Air Raid(最小路径覆盖)
    【\(HDU1151\)】—\(Air\)\(Raid\)(最小路径覆盖)题解描述给定一个\(DAG\)(有向无环图),选定最少的点,使得从这些点出发可以覆盖每一条路径(即每个点都经过至少一遍)。输入:24334132333131223输出21以测试数据为例,\(4\)个路口,\(3\)条路。现派伞兵经过所有......
  • 数学题-位运算-2791. 树中可以形成回文的路径数
    2791.树中可以形成回文的路径数DescriptionDifficulty:困难RelatedTopics:位运算,树,深度优先搜索,动态规划,状态压缩给你一棵树(即,一个连通、无向且无环的图),根节点为0,由编号从0到n-1的n个节点组成。这棵树用一个长度为n、下标从0开始的数组parent表......
  • 四旋翼飞行器的动力学、控制和路径规划matlab仿真
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 相对路径以及python引用
    /当前工作目录所在的最顶级目录,即根目录,根目录是相对于其他子目录来说的./当前工作目录('./img/demo.jpg')../当前工作目录上一级目录(当前目录的父级目录)此时的img文件在myblog文件夹内python文件的引用问题fromPStope_Class.WorKFace.TYl_BeamUnitimportTYl_Beam......
  • 宝塔部署 node 修改系统环境变量 路径
     yum-yupdateyum-yinstallgccgcc-c++epel-releasevimtarwgetzipunziplrzsznet-toolsyuminstall-ywget&&wget-Oinstall.shhttps://download.bt.cn/install/install_6.0.sh&&shinstall.shed8484bec【php】安装fileninfo、mcrypt【......
  • 335. 路径交叉 (Hard)
    问题描述335.路径交叉(Hard)给你一个整数数组distance。从X-Y平面上的点(0,0)开始,先向北移动distance[0]米,然后向西移动distance[1]米,向南移动distance[2]米,向东移动distance[3]米,持续移动。也就是说,每次移动后你的方位会发生逆时针变化。判断你所经过的路径......