面试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)
相关推荐
柒柒的代码学习日记2 天前
二叉树链式结构的遍历实现
数据结构·二叉树·链式结构
KarrySmile3 天前
Day17--二叉树--654. 最大二叉树,617. 合并二叉树,700. 二叉搜索树中的搜索,98. 验证二叉搜索树
数据结构·算法·二叉树·二叉搜索树·合并二叉树·最大二叉树·验证二叉搜索树
剪一朵云爱着9 天前
力扣二叉树的前序中序后序遍历总结
算法·leetcode·二叉树
Alfred king10 天前
面试150 建立四叉树
矩阵··数组·分治
科大饭桶12 天前
数据结构自学Days10 -- 二叉树的常用实现
数据结构·算法·leetcode·二叉树·c
青小莫13 天前
c语言-数据结构-二叉树OJ
c语言·开发语言·数据结构·二叉树·力扣
_extraordinary_14 天前
Java 二叉树
java·开发语言·二叉树
科大饭桶18 天前
数据结构自学Day8: 堆的排序以及TopK问题
数据结构·c++·算法·leetcode·二叉树·c
小指纹18 天前
初识 二叉树
c++·算法·二叉树·
今天背单词了吗98018 天前
算法学习笔记:26.二叉搜索树(生日限定版)——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·学习·算法··二叉搜索树