面试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)
相关推荐
深邃-21 小时前
【数据结构与算法】-二叉树(2):实现顺序结构二叉树(堆的实现),向上调整算法,向下调整算法,堆排序,TOP-K问题
数据结构·算法·二叉树·排序算法·堆排序··top-k
伟大的车尔尼2 天前
搜索题目:边界着色
深度优先搜索·广度优先搜索
深邃-3 天前
【数据结构与算法】-二叉树(1):树的概念与结构,二叉树的概念与结构
数据结构·算法·链表·二叉树··顺序表
山甫aa6 天前
二叉树遍历----从零开始的数据结构
数据结构·c++·二叉树
qeen876 天前
【数据结构】树的基本概念及存储
c语言·数据结构·c++·学习·
山甫aa7 天前
多叉树定义与遍历-----从零开始的数据结构
开发语言·c++·二叉树·多叉树
Queenie_Charlie8 天前
关于二叉树(2)
数据结构·c++·二叉树·简单树结构
会编程的土豆9 天前
【数据结构与算法】新二叉树
数据结构·算法·二叉树
Queenie_Charlie9 天前
关于二叉树
数据结构·c++·二叉树
khalil10209 天前
代码随想录算法训练营Day-31贪心算法 | 56. 合并区间、738. 单调递增的数字、968. 监控二叉树
数据结构·c++·算法·leetcode·贪心算法·二叉树·递归