面试150 路径总和

思路

在进行先序遍历时,首先判断递归终止的条件:若当前节点为空,则返回 False;若当前节点为叶子节点,且其值等于目标和,则返回 True。递归的核心逻辑是:分别对左右子树进行递归遍历,并在过程中更新目标和。

python 复制代码
class Solution:
    def hasPathSum(self, root: Optional[TreeNode], targetSum: int) -> bool:
        #只有有一条就够了,传入节点和相应的和
        def inorder(node,sum):
            if node==None:
                return False
            if node.left==None and node.right==None and node.val==sum:
                return True
            sum-=node.val
            Left=inorder(node.left,sum)
            Right=inorder(node.right,sum)
            return Left or Right
        
        if not root:
            return False
        return inorder(root,targetSum)
相关推荐
伟大的车尔尼8 小时前
分治题目:所有可能的真二叉树
二叉树·分治
神威难绷泪8 小时前
数据结构:二叉树
数据结构·二叉树
伟大的车尔尼1 天前
分治题目:不同的二叉搜索树 II
二叉树·二叉搜索树·分治
Tyler_TXZ2 天前
C++C语言之——二叉树
c语言·开发语言·数据结构·c++·二叉树
_wyt0012 天前
从图到树:9道洛谷基础题带你入门树形结构
c++·
Tyler_TXZ2 天前
C++C语言之——树
c语言·c++·算法·
love_muming8 天前
二叉树操作全解析:从递归到层序遍历
java·数据结构·算法·二叉树
-dzk-10 天前
【二叉树】LC 101.对称二叉树
算法·二叉树
bnmoel16 天前
数据结构深度剖析二叉树・下篇:链式结构的实现 ,遍历方法全解析
c语言·数据结构·算法·二叉树·
_wyt00120 天前
c++里的族谱:树
c++·