python递归

二叉树中是否存在节点和为指定值的路径

http://www.nowcoder.com/questionTerminal/508378c0823c423baa723ce448cbfd0c

递归先序遍历
判断当前节点是否为空,递归退出条件
判断条件:叶子节点+和等于sum,返回真,否则返回左子树和右子树的或结果;

# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

#
# 
# @param root TreeNode类 
# @param sum int整型 
# @return bool布尔型
#
class Solution:
    def hasPathSum(self , root , sum ):
        def pre_order(root,res):
            if not root:return False

            res+=root.val
            if not root.left and not root.right and res==sum:
                return True
            return pre_order(root.left, res) or pre_order(root.right, res)
        return False if not root else pre_order(root,0)
全部评论

相关推荐

07-07 14:30
复旦大学 Java
遇到这种人我也不知道说啥了
无能的丈夫:但我觉得这个hr语气没什么问题啊(没有恶意
点赞 评论 收藏
分享
昨天 10:56
门头沟学院 Java
点赞 评论 收藏
分享
06-14 19:09
门头沟学院 Java
darius_:给制造业搞的,什么物料管理生产管理,设备管理点检,最最关键的就是一堆报表看板。个人觉得没啥技术含量都是些基本的crud,但是业务很繁琐那种
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 18:05
哈哈哈哈哈感觉朋友找工作的已经疯掉了,直接上图
码农索隆:真老板娘:“我嘞个去,这不我当年的套路吗
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务