面试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 天前
算法---队列+宽搜
算法··队列·层序遍历
GawynKing5 天前
红黑树-带源码
数据结构·算法·二叉树··红黑树
希赛网8 天前
软考软件设计师常考知识点:(三)数据结构
数据结构·二叉树·字符串·软考·软件设计师·线性表
Haooog11 天前
98.验证二叉搜索树(二叉树算法题)
java·数据结构·算法·leetcode·二叉树
Haooog16 天前
654.最大二叉树(二叉树算法)
java·数据结构·算法·leetcode·二叉树
CS创新实验室16 天前
第7章树和二叉树:树的基本概念
数据结构·二叉树··基本概念
南莺莺19 天前
树的存储结构
数据结构·算法·
Haooog22 天前
111.二叉树的最小深度(二叉树算法题)
java·数据结构·算法·二叉树
今后1231 个月前
【数据结构】二叉树的概念
数据结构·二叉树
爱编程的化学家1 个月前
代码随想录算法训练营第十一天--二叉树2 || 226.翻转二叉树 / 101.对称二叉树 / 104.二叉树的最大深度 / 111.二叉树的最小深度
数据结构·c++·算法·leetcode·二叉树·代码随想录