当前位置: 首页 > news >正文

记录算法笔记(2025.5.13)二叉树的最大深度

给定一个二叉树 root ,返回其最大深度。

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

示例 1:

输入:root = [3,9,20,null,null,15,7]

输出:3

示例 2:

输入:root = [1,null,2]

输出:2

提示:

  • 树中节点的数量在 [0, 104] 区间内。
  • -100 <= Node.val <= 100

思路: //一层一层去遍历,将根节点先存入队列,深度+1,然后判断如果有左子树或者右子树不为空则将其存入队列,深度+1,根节点再出队列,第二次还是遍历这个队列就是将根节点的左子树判断这个的左子树和右子树以及根节点的右子树判断这个的左子树和右子树(队列中有就执行),就是每层节点找下面层所有节点,并将该层节点退队列,下面层所有节点存入队列,直到队列中没节点了,就结束

代码:C#

public class Solution {

    public int MaxDepth(TreeNode root) {

        if(root==null)

        return 0;

        Queue<TreeNode> queue=new Queue<TreeNode>();//创建一个队列

        int depth=0;//深度为0

        queue.Enqueue(root);//将根节点存入队列

        while(queue.Count>0)//循环结束条件为队列中节点数量小于等于0

        {

            depth++;//只要进入该循环一次深度就+1

            int len=queue.Count;//这里需要int出队列长度

            for(int i=0;i<len;i++)//不能不int len,直接写queue.Count,因为i增加循环中队列大小在减小,容易出现有队列没遍历完全的情况

            {

                TreeNode newnode=queue.Dequeue();

                if(newnode.left!=null)

                {

                   queue.Enqueue(newnode.left);

                }

                if(newnode.right!=null)

                {

                    queue.Enqueue(newnode.right);

                }

            }

        }

           return depth;

    }

}

http://www.xdnf.cn/news/430381.html

相关文章:

  • 基于STM32、HAL库的ADAU1701JSTZ-RL音频接口芯片驱动程序设计
  • flink的TaskManager 内存模型
  • 奇怪的公式
  • 代码随想录三十七天 完全背包二维 完全背包一维 518. 零钱兑换 II 377. 组合总和 Ⅳ
  • 视频编解码学习十一之视频原始数据
  • 思维链实现 方式解析
  • Python----神经网络(《Inverted Residuals and Linear Bottlenecks》论文概括和MobileNetV2网络)
  • 简单介绍Qt的属性子系统
  • Python爬虫(26)Python爬虫高阶:Scrapy+Selenium分布式动态爬虫架构实践
  • MLA (Multi-head Attention Layer) 详细说明
  • 报告研读:125页2024年大模型轻量化技术研究报告——技术详细讲解【附全文阅读】
  • 9、Activiti-任务(Task)的相关操作
  • 深入浅出MySQL 8.0:新特性与最佳实践
  • java基础-方法的重写、super关键字
  • NVMe学习资料汇总
  • 浅析AI大模型为何需要向量数据库?从记忆存储到认知进化
  • AI Agent开发第65课-DIFY和企业现有系统结合实现高可配置的智能零售AI Agent(下)
  • 2025年,大模型LLM还有哪些可研究的方向?
  • Mac上安装Mysql的详细步骤及配置
  • Python核心数据类型全解析:字符串、列表、元组、字典与集合
  • 在C#中使用YOLO的几种方式
  • 代码仓提交分支规范
  • docker安装mysql8, 字符集,SQL大小写规范,sql_mode
  • G1JVM内存分配机制详解
  • 华秋2025电子设计与制造技术研讨会(华东站)成功举办!
  • 合合信息上线智能文档处理领域首批MCP服务,助力企业快速搭建Agent
  • paimon中批和流查看过去的快照的数据及变动的数据
  • #S4U2SELF#S4U2Proxy#CVE-2021-42278/42287以及手动复现
  • 脑机接口技术:开启人类与机器融合的新时代
  • 《从像素到身份:Flutter如何打通社交应用人脸识别的技术闭环》