专栏首页木又AI帮打卡群2刷题总结1012——二叉树的最大深度

打卡群2刷题总结1012——二叉树的最大深度


leetcode第104题:二叉树的最大深度

https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/


【题目】

给定一个二叉树,找出其最大深度。

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

说明: 叶子节点是指没有子节点的节点。

示例:
给定二叉树 [3,9,20,null,null,15,7],
    3
   / \
  9  20
    /  \
   15   7
返回它的最大深度 3 。

【思路】

使用二叉树的常用解法:递归得到左子树最大高度、右子树最大高度(如果某个子树为空,那么高度为0),那么本层的高度就为两者高度最大值+1。

【代码】

python版本

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def maxDepth(self, root: TreeNode) -> int:
        # 节点为None,返回高度为0
        if not root:
            return 0
        
        left_depth, right_depth = 0, 0
        # 得到左子树高度
        if root.left:
            left_depth = self.maxDepth(root.left)
        # 得到右子树高度
        if root.right:
            right_depth = self.maxDepth(root.right)
        return max(left_depth, right_depth) + 1

【相似题目】

111. 二叉树的最小深度

解题思路:计算本层高度时,取左右子树高度的最小值+1。

本文分享自微信公众号 - 木又AI帮(gh_eaa31cab4b91),作者:木又

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-10-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 打卡群2刷题总结1010——二叉树的层序遍历

    https://leetcode-cn.com/problems/binary-tree-level-order-traversal/

    木又AI帮
  • 打卡群2刷题总结1013——不同的二叉搜索树

    https://leetcode-cn.com/problems/unique-binary-search-trees/

    木又AI帮
  • 打卡群2刷题总结1009——二叉树的中序遍历

    https://leetcode-cn.com/problems/binary-tree-inorder-traversal/

    木又AI帮
  • 打卡群刷题总结0807——验证二叉搜索树

    PS:刷了打卡群的题,再刷另一道题,并且总结,确实耗费很多时间。如果时间不够,以后的更新会总结打卡群的题。

    木又AI帮
  • 打卡群刷题总结0804——二叉树的中序遍历

    非递归解法,需要使用栈结构,同时使用一个visit数组标识该节点是否访问过其孩子节点。得到visit栈顶元素,判断是否访问过;如果访问过,则val加入到结果中;...

    木又AI帮
  • 打卡群刷题总结0805——不同的二叉搜索树

    PS:刷了打卡群的题,再刷另一道题,并且总结,确实耗费很多时间。如果时间不够,以后的更新会总结打卡群的题。

    木又AI帮
  • 打卡群刷题总结0808——二叉树的层序遍历

    PS:刷了打卡群的题,再刷另一道题,并且总结,确实耗费很多时间。如果时间不够,以后的更新会总结打卡群的题。

    木又AI帮
  • 打卡群刷题总结0814——二叉树展开为链表

    链接:https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node

    木又AI帮
  • 打卡群刷题总结0813——二叉树展开为链表

    链接:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list

    木又AI帮
  • 打卡群刷题总结0809——二叉树的锯齿形层次遍历

    链接:https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-traversal

    木又AI帮
  • 【leetcode刷题】T117-二叉树的最大深度

    https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/

    木又AI帮
  • 打卡群2刷题总结1011——从前序与中序遍历序列构造二叉树

    https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder...

    木又AI帮
  • ​LeetCode刷题实战104:二叉树的最大深度

    https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/

    程序IT圈
  • LeetCode刷题记录:104. 二叉树的最大深度

    英雄爱吃土豆片
  • 打卡群刷题总结0811——从中序与后序遍历序列构造二叉树

    链接:https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-posto...

    木又AI帮
  • 打卡群刷题总结0810——从前序与中序遍历序列构造二叉树

    链接:https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inor...

    木又AI帮
  • 本周小结!(二叉树)

    发现大家周末的时候貌似都不在学习状态,周末的文章浏览量和打卡情况照工作日差很多呀,可能是本周日是工作日了,周六得好好放松放松,哈哈,理解理解,但我还不能不更啊,...

    代码随想录
  • 打卡群2刷题总结1004——无重复字符的最长子串

    https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/

    木又AI帮
  • 二叉树:总结篇!(需要掌握的二叉树技能都在这里了)

    不知不觉二叉树已经和我们度过了「三十三天」,代码随想录里已经发了「三十三篇二叉树的文章」,详细讲解了「30+二叉树经典题目」,一直坚持下来的录友们一定会二叉树有...

    代码随想录

扫码关注云+社区

领取腾讯云代金券