题目描述:
题解:
class Solution(object): def hasPathSum(self, root, targetSum): if root==None: return False if root.left==None and root.right==None: return targetSum-root.val==0 return self.hasPathSum(root.left,targetSum-root.val) or self.hasPathSum(root.right,targetSum-root.val)
1.如果root为空,则直接返回False。
2.如果root已经为叶子节点,则判断节点的val值是否与targetsum相等
3.否则在其左右子树分别调用hasPathSum函数。
以题目中示例为例,函数调用过程如下: