面试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)
相关推荐
hope_wisdom5 小时前
C/C++数据结构之树
数据结构·c++·二叉树·
伟大的车尔尼2 天前
搜索题目:图像渲染
并查集·深度优先搜索·广度优先搜索
伟大的车尔尼4 天前
搜索题目:甲板上的战舰
并查集·深度优先搜索·广度优先搜索
Book思议-6 天前
【数据结构】「树」专题:树、森林与二叉树遍历之间的关系+408真题
数据结构·算法·二叉树··森林
月落归舟9 天前
帮你从算法的角度来认识二叉树---(二)
算法·二叉树
Kethy__9 天前
计算机中级-数据库系统工程师-数据结构-树与二叉树(2)
数据结构·数据库·软考··计算机中级
Kethy__9 天前
计算机中级-数据库系统工程师-数据结构-树与二叉树(1)
数据结构·算法··数据库系统工程师·计算机中级
Book思议-10 天前
【数据结构】二叉树入门全解:从定义、性质到经典真题
数据结构·算法·二叉树
伟大的车尔尼10 天前
广度优先搜索和深度优先搜索的概念
数据结构·算法·并查集·深度优先搜索·广度优先搜索
月落归舟10 天前
帮你从算法的角度来认识二叉树---(一)
数据结构·算法·二叉树