面试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)
相关推荐
奔跑吧邓邓子1 天前
【C语言实战(71)】C语言进阶:树与图的奇妙数据之旅
c语言···开发实战
ShineWinsu2 天前
对于数据结构:堆的超详细保姆级解析—上
数据结构·c++·算法·计算机·二叉树·顺序表·
不觉晚秋5 天前
极限挑战之一命速通哈夫曼树
c语言·数据结构··哈夫曼树
_OP_CHEN7 天前
C++进阶:(三)深度解析二叉搜索树原理及实现
开发语言·数据结构·c++·二叉树·二叉搜索树·键值对
草莓工作室15 天前
数据结构12:二叉树的API及其实现
c语言·数据结构·二叉树
2401_8414956416 天前
【机器学习】k近邻法
人工智能·python·机器学习·分类··knn·k近邻算法
大千AI助手17 天前
Hoeffding树:数据流挖掘中的高效分类算法详解
人工智能·机器学习·分类·数据挖掘·流数据··hoeffding树
徐子童23 天前
算法---队列+宽搜
算法··队列·层序遍历
GawynKing1 个月前
红黑树-带源码
数据结构·算法·二叉树··红黑树
希赛网1 个月前
软考软件设计师常考知识点:(三)数据结构
数据结构·二叉树·字符串·软考·软件设计师·线性表