题目
给出一个二叉树和一个值,判断这个二叉树是否有一条从根节点到叶节点的路径,这条路径上节点值的和等于这个给定的值。
Python题解
class Solution(object):
def hasPathSum(self, root, sum):
"""
:type root: TreeNode
:type sum: int
:rtype: bool
"""
def dfs(root, sum_val, res):
if root is None:
return False
if root.left is None and root.right is None:
if res + root.val == sum_val:
return True
return dfs(root.left, sum_val, res + root.val) or dfs(root.right, sum_val, res + root.val)
return dfs(root, sum, 0)