# Definition for a binary tree node class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None class Solution: # @param root, a tree node # @param sum, an integer # @return a boolean def hasPathSum(self, root, sum): if root==None : return False if root.val==sum and root.left is None and root.right is None: return True #elif root.val==sum: #出现负数的情况,这里就不对了,可能这个条件成立了,但是子树之和为0 也是正确的 # return False else:
return (self.hasPathSum(root.left, sum-root.val) or self.hasPathSum(root.right, sum-root.val))