简单递归.
# Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution(object): def hasPathSum(self, root, sum): """ :type root: TreeNode :type sum: int :rtype: bool """ if not root: return False if (not root.left) & (not root.right): return root.val==sum elif not root.left: return self.hasPathSum(root.right,sum-root.val) elif not root.right: return self.hasPathSum(root.left,sum-root.val) else: return (self.hasPathSum(root.left,sum-root.val))|(self.hasPathSum(root.right,sum-root.val))