美文网首页
每日一题之二叉树的深度

每日一题之二叉树的深度

作者: 前来打酱油的 | 来源:发表于2021-03-28 00:30 被阅读0次

Leetcode 第104题

好久没有刷题了,晋升挂了考虑换个工作了,开始刷题之路。

leetcode国内题库链接:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/

思路分析:

本题是一道最基础的二叉树的问题。遇到二叉树的问题时,基本就是固定的套路:递归或者循环

计算二叉树的深度,简单来说就是分别计算左子树和右子树的深度,并取最大值即可

递归思路:

递归计算左右子节点直到都为空,此时记高度为1,然后不断回归到根节点,取左子树高度和右子树高度的最大值。该解法实际上就是DFS,深度优先搜索。

使用递归时,代码简洁清晰,但是在计算量大时会StackOverFlow。时间复杂度O(N),空间复杂度O(深度)

代码

循环思路:

把每一层节点存入队列中,然后每次循环完同一层节点之后高度加一,直到到达叶子节点。此时计算得出的高度就是二叉树的深度。该解法实际上就是BFS,广度优先搜索。

时间复杂度O(N),空间复杂度O(宽度),最坏情况O(N)

代码

以上就是Leetcode-104题的两个解法,算是二叉树的最基础的问题。

                                                                                                                    记录于2021-03-29

相关文章

  • 平衡二叉树(java)

    题目描述: 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 分析: 把这道题目放在二叉树的深度一题后面,真的是让人...

  • 05-30:二叉树专题

    二叉树专题常见题型 1、二叉树的遍历 前、中、后:递归 层序、之字:bfs 2、二叉树的深度 (1)二叉树的深度 ...

  • 每日一练(27):二叉树的深度

    title: 每日一练(27):二叉树的深度 categories:[剑指offer] tags:[每日一练] d...

  • 每日一题之二叉树的深度

    Leetcode 第104题 好久没有刷题了,晋升挂了考虑换个工作了,开始刷题之路。 leetcode国内题库链接...

  • 二叉树面试题基本问题

    二叉树的最大深度与最小深度 二叉树的最大深度 最大深度是指二叉树根节点到该树叶子节点的最大路径长度。而最小深度自然...

  • 111. Minimum Depth of Binary Tre

    题目 给定一个二叉树,求二叉树最小深度 解析 一个二叉树的最小深度,就是求左子树最小深度或者右子树最小深度,然后加...

  • LeetCode每日一题: 二叉树的最大深度

    思路、利用递归实现 利用递归遍历所有节点,到底了就回溯,太简单了,也没啥可说的,直接上代码把 代码:

  • LeetCode 每日一题 [69] 二叉树的深度

    LeetCode 二叉树的深度 [简单] 输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含...

  • 二叉树的深度系列

    LeetCode 104 二叉树的最大深度 题目 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节...

  • leetcode上二叉树和递归 java

    二叉树天然的递归结构104. 二叉树的最大深度 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节...

网友评论

      本文标题:每日一题之二叉树的深度

      本文链接:https://www.haomeiwen.com/subject/ezhvhltx.html