您的位置:首页 > 编程语言 > Python开发

【Leetcode】【python】Path Sum

2017-08-04 06:33 441 查看

题目大意

给定一个数和一棵树,求能否有一条路径上所有叶子结点数值加起来等于给定的数

解题思路

递归

代码

class Solution(object):
def hasPathSum(self, root, sum):
"""
:type root: TreeNode
:type sum: int
:rtype: bool
"""
if root == None:
return False
if root.left == None and root.right == None:
return sum == root.val
return self.hasPathSum(root.left, sum - root.val) or self.hasPathSum(root.right, sum - root.val)


总结

题目要求的和必须是一直贯穿到最下面的叶子结点。不需要考虑中间就到达和的情况

这种题目的递归结构都十分相似,通过这种结构来遍历到整个树。

self.hasPathSum(root.left, sum - root.val) or self.hasPathSum(root.right, sum - root.val)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python leetcode