LeetCode 543 Easy 二叉树最长路径 Python

75 篇文章 0 订阅
72 篇文章 0 订阅
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
def diameterOfBinaryTree(self, root):
    """
    一个节点要么作为路径的一部分,要么就是作为路径的根节点
    作为路径的根节点时,路径长就是左孩子的最大高度+右孩子的最大高度+1
    所以用计算高度的方式来计算,更新self.ans
    return的时候return当前高度,也就是说自己作为路径的一部分时的情况,

    这个题有点像124题
    """
    self.ans = 1

    def getHeight(root):
        if root == None:
            return 0
        l = getHeight(root.left)
        r = getHeight(root.right)
        self.ans = max(self.ans, l + r + 1)
        return max(l, r) + 1

    getHeight(root)
    return self.ans - 1

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值