【题目】
【代码】

# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def visit(self,root,s=0):
if not root:
return 0
root.val+=s
# print(root.val," s:",s)
if root.val==self.targetSum and not root.left and not root.right:
self.ans=True
return
self.visit(root.left,root.val)
self.visit(root.right,root.val)
def hasPathSum(self, root: Optional[TreeNode], targetSum: int) -> bool:
self.ans=False
self.targetSum=targetSum
self.visit(root,0)
return self.ans
本文介绍了一种解决二叉树路径总和问题的方法。通过递归遍历二叉树节点并更新节点值,检查是否存在从根节点到叶子节点的路径,使得沿途经过的节点值之和等于给定的目标值。该算法实现简洁且易于理解。
1877

被折叠的 条评论
为什么被折叠?



