思路和104,111,计算depth的题目递归思路一样。
每一次递归,减掉当前节点的值。很简单。
class Solution:
def hasPathSum(self, root: TreeNode, sum: int) -> bool:
if root == None:
return False
if root.left == None and root.right == None:
if sum - root.val == 0:
return True
return False
if root.left == None:
return self.hasPathSum(root.right, sum - root.val)
elif root.right == None:
return self.hasPathSum(root.left, sum - root.val)
else:
return self.hasPathSum(root.left, sum - root.val) or self.hasPathSum(root.right, sum - root.val)