专栏首页面试经验贴[leetcode二叉树系列]3 二叉树的最大深度

[leetcode二叉树系列]3 二叉树的最大深度

本文涉及知识点 

  • 二叉树的遍历
  • 队列的运用

二叉树的遍历和队列的相关概念前面已经介绍,忘记了的小伙伴复习后再看效果一定翻倍哟!

1

Leetcode103 二叉树的最大深度

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

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

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

示例1:

给定二叉树 [3,9,20,null,null,15,7],

3

/ \

9 20

/ \

15 7

返回它的最大深度 3 。

小蓝希望大家在此思考1分钟,

效果更好哈!

01 题目解析

  • 思路

二叉树,分为左子树和右子树,那么求最大的深度就可以理解为左右子树较大值+1(max(left,right)+1)).小蓝在此声明下,树的大部分用递归实现会简洁很多,但是小蓝为了和大家一起巩固如何使用栈或者队列等数据结构来迭代实现,希望能谅解哈。

  • 从根节点访问,先把根节点放入队列,并记录节点深度。

  • 循环从队列取出元素。取出元素A,A存在左右节点B,C,将其入队,此时深度+1。
  • 按照步骤2,从队列取出元素B,并将它的左右节点入队。此时深度为3.

02 动画演示

小蓝希望大家能够开开心心的学习,并能得到好的offer!也可以分享给身边朋友或者文末点个在看哟。

03 代码实现

1 c++版本

2 python版本

3 java版本

本文分享自微信公众号 - 我是程序员小贱(Lanj1995Q),作者:Lj

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

原始发表时间:2020-02-19

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [leetcode二叉树系列]4 对称二叉树

    二叉树的遍历和队列的相关概念前面已经介绍,忘记了的小伙伴复习后再看效果一定翻倍哟!

    我是程序员小贱
  • [leetcode二叉树系列]2 二叉树的层次遍历

    二叉树的遍历和队列的相关概念前面已经介绍,忘记了的小伙伴复习后再看效果一定翻倍哟!

    我是程序员小贱
  • 今天给二叉树加个BGM,二叉树唱歌了!

    我是程序员小贱
  • 完全二叉树

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明...

    于小勇
  • [leetcode二叉树系列]4 对称二叉树

    二叉树的遍历和队列的相关概念前面已经介绍,忘记了的小伙伴复习后再看效果一定翻倍哟!

    我是程序员小贱
  • [leetcode二叉树系列]2 二叉树的层次遍历

    二叉树的遍历和队列的相关概念前面已经介绍,忘记了的小伙伴复习后再看效果一定翻倍哟!

    我是程序员小贱
  • 「leetcode二叉树系列」4 对称二叉树

    二叉树的遍历和队列的相关概念前面已经介绍,忘记了的小伙伴复习后再看效果一定翻倍哟!

    小林coding
  • 现在告诉你MySQL为什么选择B+Tree呢?

    大家都知道MySQL数据库选择的是B+Tree作为索引的数据结构,那为什么会选择B+Tree呢?

    田维常
  • 关于二叉树,你该了解这些!

    说道二叉树,大家对于二叉树其实都很熟悉了,本文呢我也不想教科书式的把二叉树的基础内容在啰嗦一遍,所以一下我讲的都是一些比较重点的内容。

    代码随想录
  • 服务应用突然宕机了?别怕,Dubbo 帮你自动搞定服务隔离!

    某日中午,午睡正香的时候,接到系统的报警电话,提示生产某物理机异常宕机了,目前该物理机已恢复,需要重启上面部署的应用。

    andyxh

扫码关注云+社区

领取腾讯云代金券