面试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 小时前
速通Hot100-Day09——二叉树
算法·leetcode·二叉树·hot100
Fcy6483 天前
算法竞赛有关数据结构的补充(2)--- 栈、队列的静态实现和树的实现
数据结构···队列
Yvonne爱编码8 天前
二叉树高频题精讲 | 从入门到熟练掌握二叉树操作
java·开发语言·数据结构·链表·二叉树
像素猎人8 天前
以数据结构之——树来体会深度优先搜索【dfs】和广度优先搜索【bfs】的妙用:学比特算法课的自用笔记
数据结构·c++·学习·dfs·bfs·深度优先搜索
季明洵11 天前
二叉树的最小深度、完全二叉树的节点个数、平衡二叉树、路径总和、从中序与后序遍历序列构造二叉树
java·数据结构·算法·leetcode·二叉树
识君啊1 个月前
Java 二叉树从入门到精通-遍历与递归详解
java·算法·leetcode·二叉树·深度优先·广度优先
fu的博客1 个月前
【数据结构10】满/完全二叉树、顺序/链式存储
数据结构·
uesowys1 个月前
算法开发指导-数据结构-Tree
数据结构·算法·
im_AMBER1 个月前
Leetcode 124 二叉搜索树的最小绝对差 | 二叉树的锯齿形层序遍历
数据结构·学习·算法·leetcode·二叉树