面试150 路径总和
思路
在进行先序遍历时,首先判断递归终止的条件:若当前节点为空,则返回 False;若当前节点为叶子节点,且其值等于目标和,则返回 True。递归的核心逻辑是:分别对左右子树进行递归遍历,并在过程中更新目标和。
class Solution:def hasPathSum(self, root: Optional[TreeNode], targetSum: int) -> bool:#只有有一条就够了,传入节点和相应的和def inorder(node,sum):if node==None:return Falseif node.left==None and node.right==None and node.val==sum:return Truesum-=node.valLeft=inorder(node.left,sum)Right=inorder(node.right,sum)return Left or Rightif not root:return Falsereturn inorder(root,targetSum)