leetcode刷题笔记之104. 二叉树的最大深度

104. 二叉树的最大深度

题目地址
要求一个二叉树的深度,一开始想复杂了,总想通过遍历查深度,导致一直出错,最后参考了deepseek,先给出代码:

class Solution(object):
    def maxDepth(self, root):
        if not root:
            return 0
        left_depth = self.maxDepth(root.left)
        right_depth = self.maxDepth(root.right)
        return max(left_depth, right_depth) + 1

大彻大悟了,代码的原理是计算子树的左右子树长度,取其中最长的那个。

总结心得:
设计迭代应该从最小的元素开始设计,比如这题,在设计时应该以一个最简单的树开始设计,就是比较左右树哪个长,从而获得树的最大深度。基于这样再设计迭代。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值