首页 > 其他分享 >104. 二叉树的最大深度

104. 二叉树的最大深度

时间:2024-11-15 19:40:35浏览次数:1  
标签:info head int process 二叉树 深度 节点 104

  1. 题目链接

  2. 解题思路

    • 普通的递归可能很简单,但是,现在要求,使用「二叉树递归套路」来思考问题
    • 每个节点需要什么信息?如果根节点,能够有一个「最大深度」的信息,那么直接返回就可以了。那么,这个信息可以通过左子树信息 + 右子树信息 得到吗?
    • max(左子树最大深度, 右子树最大深度) + 1,就是该节点的最大深度,所以是能够得到的。
    • 所以,每个节点需要的信息就一个:1️⃣以该节点为头的最大深度是多少
  3. 代码

    class Solution {
    public:
    
        // 以head为头,最大深度是多少?
        // 因为就需要一个信息,所以不需要使用一个结构体来保存信息了
        int process(TreeNode* head) {
            if (head == nullptr) {
                return 0;
            }
            int left_info = process(head->left);
            int right_info = process(head->right);
            return max(left_info, right_info) + 1;
        }
        int maxDepth(TreeNode* root) {
            return process(root);
        }
    };
    

标签:info,head,int,process,二叉树,深度,节点,104
From: https://www.cnblogs.com/ouyangxx/p/18548554

相关文章

  • 【深度学习目标检测|YOLO算法5-2-3】YOLO家族进化史:从YOLOv1到YOLOv11的架构创新、性
    【深度学习目标检测|YOLO算法5-2-3】YOLO家族进化史:从YOLOv1到YOLOv11的架构创新、性能优化与行业应用全解析…【深度学习目标检测|YOLO算法5-2-3】YOLO家族进化史:从YOLOv1到YOLOv11的架构创新、性能优化与行业应用全解析…文章目录【深度学习目标检测|YOLO算法5-2-3......
  • 102. 二叉树的层序遍历
    题目链接解题思路层序遍历就是用队列,本题需要一层一层收集答案,所以我们可以用一个变量cur,表示该层还剩多少节点需要收集,同时,遇到一个节点,还要将其孩子节点放入队尾。那么我们怎么知道下一层的节点个数,所以还需要一个变量next,记录下一层的节点个数。总结一遍:每次从队头......
  • 【C++】list 类深度解析:探索双向链表的奇妙世界
    ......
  • 【AI大模型】在健康睡眠监测中的深度融合与实践案例_基于ai的入睡觉醒判断
    文章目录1.应用方案2.技术实现2.1数据采集与预处理2.2构建与训练模型2.3个性化建议生成3.优化策略4.应用示例:多模态数据融合与实时监测4.1数据采集4.2实时监测与反馈5.深入分析模型选择和优化5.1LSTM模型的优势和优化策略5.2CNN模型的优势和优化策略5.3......
  • LeetCode654.最大二叉树
    LeetCode刷题记录文章目录......
  • 深度学习中常见的学习率调整策略
    一、简介        在深度学习中,学习率是一个关键的超参数,它决定了模型在每次迭代中更新参数的步长。选择合适的学习率对于模型的收敛速度和最终性能至关重要。为了提高模型的训练效果,常常需要动态调整学习率。二、常见策略    这里,我们介绍一些常用的学习率......
  • inline 函数:让你的 C++ 代码飞起来——深度剖析与实战技巧
    你是否曾经为C++代码中的函数调用开销感到烦恼?每次函数调用都需要创建栈帧、传递参数、跳转执行,这些看似微小的操作,累计起来就会成为性能瓶颈。在对性能要求苛刻的程序中,这些开销可能会影响到整体表现。今天,我们要聊的就是一个解决方案——inline函数。想象一下,如果编译器......
  • 深度学习在岩土工程中的应用与实践
    在深度学习与岩土工程融合的背景下,科研的边界持续扩展,创新成果不断涌现。从基本物理模型的构建到岩土工程问题的复杂模拟,从数据驱动的分析到工程问题的智能解决,深度学习正以前所未有的动力推动岩土工程领域的革新。据调查,目前在岩土工程领域内,深度学习的应用主要集中在以下几个......
  • 如何深度学习SpringBoot?
    SpringBoot对于SpringBoot,我们都知道他的设计初衷是解决Spring各版本配置工作过于繁重的问题,简化初始搭建流程、降低开发难度而出现的。可以说用SpringBoot开发,我们在配置上是不用花费太多时间的。我们常常看到这样一种现象:面对Spring繁重配置工作,要是一位初学者仅仅掌握......
  • 李沐《动手学深度学习》kaggle树叶分类(ResNet18无预训练)python代码实现
    前言    在尝试这个树叶分类之前,作者仅仅看完了ResNet残差网络一章,并没有看后面关于数据增强的部分,这导致在第一次使用最原始的ResNet18直接跑完训练数据之后的效果十分的差,提交kaggle后的准确仅有20%左右。本文最后依然使用未经预训练的手写ResNet18网络,但做了一定的......