二叉树OJ题:LeetCode--104.二叉树的最大深度

这篇具有很好参考价值的文章主要介绍了二叉树OJ题:LeetCode--104.二叉树的最大深度。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

朋友们、伙计们,我们又见面了,本期来给大家解读一下LeetCode中第104道二叉树OJ题,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成!

数据结构与算法专栏:数据结构与算法

个  人  主  页 :stackY、

C 语 言 专 栏C语言:从入门到精通

二叉树OJ题:LeetCode--104.二叉树的最大深度

 LeetCode--104.二叉树的最大深度:https://leetcode.cn/problems/maximum-depth-of-binary-tree/

目录

1.题目介绍

2.实例演示

3.解题思路

代码演示:

递归展开图:


1.题目介绍

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

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

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

二叉树OJ题:LeetCode--104.二叉树的最大深度

2.实例演示

二叉树OJ题:LeetCode--104.二叉树的最大深度

3.解题思路

要求二叉树的最大深度,我们同样的也是采用递归遍历的方法:

二叉树的最大深度等价于:左右子树的最大深度 + 1

二叉树OJ题:LeetCode--104.二叉树的最大深度

要求1的高度,那么就得求它的左右子树2、3的高度,要求2和3的高度就得分别求它们左右子树的高度...依次类推,4的左右子树高度为0,这时4返回给2时返回的高度为0+1(0表示它的左右子树的高度为0,1表示它自己的高度为1),也就是说再返回时要加上自己本身的高度,所以2的左子树的高度为1,再来计算2的右子树5的高度,计算5的高度又得计算5的左右子树的高度,5的左子树高度为1,右子树高度为0,取较大的为1,5返回2时再加上自己本身的高度为2,所以取2的左右子树较高的高度为2,所以2返回1时再加上自己本身的高度为3.....依次类推,直到遍历完整个二叉树。所以最后整颗树的高度为4。

代码演示:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */

/*
解题思路:
二叉树的最大深度等价于:左右子树的最大深度 + 1
*/

int maxDepth(struct TreeNode* root){

    //为空树就返回0
    if(root == NULL)
        return 0;
    //计算左右子树的深度
    int High_Left = maxDepth(root->left) + 1; 
    int High_Right = maxDepth(root->right) + 1;
    //比较左右子树的大小,返回最大的深度
    if(High_Left > High_Right)
    {
        return High_Left;
    }
    return High_Right;
}

 递归展开图:

二叉树OJ题:LeetCode--104.二叉树的最大深度

 每一次递归的返回值并不是直接返回到最外面,而是返回上一层,这一点要注意。

朋友们、伙计们,美好的时光总是短暂的,我们本期的的分享就到此结束,最后看完别忘了留下你们弥足珍贵的三连喔,感谢大家的支持!  文章来源地址https://www.toymoban.com/news/detail-512508.html

到了这里,关于二叉树OJ题:LeetCode--104.二叉树的最大深度的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • leetcode做题笔记104. 二叉树的最大深度

    给定一个二叉树  root  ,返回其最大深度。 二叉树的  最大深度  是指从根节点到最远叶子节点的最长路径上的节点数。 本题要求二叉树的最大深度,可想到将左子树深度和右子树深度分别记录下来,最后比较左右子树深度输出最大深度 本题考察二叉树的应用,将左右子树

    2024年02月11日
    浏览(13)
  • 算法训练day16Leetcode104二叉树最大深度111二叉树最小深度222完全二叉树的节点个数

    https://www.bilibili.com/video/BV1Gd4y1V75u/?vd_source=8272bd48fee17396a4a1746c256ab0ae 用递归,但是什么顺序没想清楚 二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数或者节点数(取决于深度从0开始还是从1开始) 二叉树节点的高度:指从该节点到叶子节点的最长简单路径边

    2024年01月16日
    浏览(15)
  • 代码随想录 Day13 二叉树 LeetCode T104 二叉树的最大深度 T111 二叉树的最小深度 T222完全二叉树的节点个数

    代码随想录 Day13 二叉树 LeetCode T104 二叉树的最大深度 T111 二叉树的最小深度 T222完全二叉树的节点个数

    以下题解的更详细思路来自于:代码随想录 (programmercarl.com) 二叉树的高度与深度 这里先补充一下二叉树深度和高度的概念 高度:二叉树中任意一个节点到叶子结点的距离 深度:二叉树中任意一个节点到根节点的距离 下面给出一个图便于理解 获取高度与深度的遍历方式 高度:后

    2024年02月08日
    浏览(15)
  • leecode104——二叉树的最大深度

    左子树与右子树的最大深度可以通过递归遍历(深度优先搜索)得到,首先: 递归三部曲:(1)确定递归的参数和返回值,因为要比较的是左右子树的最大深度,所以每次传入的根节点,返回最大深度,即int类型的数字 (2)递归的终止条件:当跟节点为空,说明高度为0或

    2024年02月03日
    浏览(10)
  • 第十五天|104.二叉树的最大深度、111.二叉树的最小深度、 222.完全二叉树的节点个数

    104.二叉树的最大深度 题目链接:104. 二叉树的最大深度 - 力扣(LeetCode) 111.二叉树的最小深度 题目链接:111. 二叉树的最小深度 - 力扣(LeetCode) 222.完全二叉树的节点个数 题目链接:222. 完全二叉树的节点个数 - 力扣(LeetCode)

    2024年02月11日
    浏览(12)
  • 力扣HOT100 - 104. 二叉树的最大深度

    力扣HOT100 - 104. 二叉树的最大深度

    解题思路:

    2024年04月23日
    浏览(16)
  • C++力扣题目104--二叉树的最大深度

    C++力扣题目104--二叉树的最大深度

    给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 返回它的最大深度 3 。 看完本篇可以一起做了如下两道题目: 104.二叉树的最大深度(opens n

    2024年01月16日
    浏览(13)
  • Java LeetCode篇-深入了解二叉树经典解法(三种方式实现:获取二叉树的最大深度)

    Java LeetCode篇-深入了解二叉树经典解法(三种方式实现:获取二叉树的最大深度)

    🔥博客主页: 【 小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍    文章目录         1.0 对称二叉树         1.1 判断对称二叉树实现思路         1.2 代码实现:判断对称二叉树         2.0 二叉树的最大深度         2.1 使用递归实现获取二叉树的最大深度思

    2024年02月05日
    浏览(18)
  • day16 二叉树的最大深度 n叉树的最大深度 二叉树的最小深度 完全二叉树的节点数

    day16 二叉树的最大深度 n叉树的最大深度 二叉树的最小深度 完全二叉树的节点数

    题目链接:104 二叉树的最大深度 题意 二叉树的根节点是root,返回其最大深度(从根节点到最远叶子节点的最长路径上的节点数) 递归 根节点的的高度就是二叉树的最大深度  所以使用后序遍历求最大高度的方式求出最大深度 递归三部曲 1)确定递归函数的参数和返回值

    2024年02月02日
    浏览(32)
  • 算法刷题Day 16 二叉树的最大深度+N叉树的最大深度+二叉树的最小深度+完全二叉树的节点个数

    递归法 迭代法 使用层序的方法,相对比较好理解 递归法 迭代法 跟二叉树的迭代差不多意思。 要想到是后序遍历 递归法 先计算左右两棵子树的节点数,再加和,用后序遍历的方法 迭代法 迭代法用层序遍历来处理 适用于完全二叉树的优化 完全二叉树优化方法没自己想出来

    2024年02月17日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包