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

[面试精选] 0104. 二叉树的最大深度

文章目录

      • 1. 题目链接
      • 2. 题目描述
      • 3. 题目示例
      • 4. 解题思路
      • 5. 题解代码
      • 6. 复杂度分析

1. 题目链接


104. 二叉树的最大深度 - 力扣(LeetCode)


2. 题目描述


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

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


3. 题目示例


示例 1 :

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

示例 2 :

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

4. 解题思路


  1. 递归DFS遍历
    • 采用深度优先搜索(DFS)策略
    • 从根节点开始向下递归遍历每个节点
  2. 深度计算
    • 每进入一个非空节点,当前深度+1
    • 使用全局变量ans记录遍历过程中遇到的最大深度
  3. 递归终止
    • 遇到空节点时返回(递归基线条件)
    • 非空节点继续向左右子树递归
  4. 关键点
    • 前序遍历顺序(先处理当前节点,再处理子树)
    • 深度参数在递归调用中传递
    • 全局变量记录最大值

5. 题解代码


class Solution {private int ans;  // 存储最大深度结果public int maxDepth(TreeNode root) {dfs(root, 0);  // 从根节点开始深度优先搜索,初始深度为0return ans;    // 返回最大深度}// 递归深度优先搜索方法private void dfs(TreeNode node, int depth) {if (node == null) return;  // 基线条件:空节点返回depth++;  // 当前节点深度+1ans = Math.max(ans, depth);  // 更新最大深度// 递归处理左右子树dfs(node.left, depth);dfs(node.right, depth);}
}

6. 复杂度分析


  1. 时间复杂度:O(n)
    • 每个节点恰好被访问一次
    • n为树中节点总数
  2. 空间复杂度:O(h)
    • 递归调用栈的深度等于树的高度h
    • 最坏情况下(链表状树)为O(n)
    • 平衡二叉树情况下为O(log n)
http://www.lqws.cn/news/213265.html

相关文章:

  • 初识redis
  • Kafka 消息模式实战:从简单队列到流处理(一)
  • c++ 静态成员变量
  • 《高精度》题集
  • 【题解-洛谷】B3622 枚举子集(递归实现指数型枚举)
  • 【Latex】Windows/Ubuntu 绘制 eps 矢量图通用方法(drawio),支持插入 Latex 数学公式
  • 一款“短小精悍的”手机录屏软件
  • 安达发|装饰材料行业APS生产排程软件:破解生产困局,智造升级新引擎
  • Java高级 |【实验八】springboot 使用Websocket
  • Spring中循环依赖问题的解决机制总结
  • day 27 装饰器函数
  • [GitHub] 优秀开源项目
  • 区块链技术概述
  • Java方法引用深度解析:从匿名内部类到函数式编程的演进
  • MySQL 8.0 绿色版安装和配置过程
  • SQL Server 日期时间类型全解析:从精确存储到灵活转换
  • SpringBoot十二、SpringBoot系列web篇之过滤器Filte详解
  • 使用Caddy在Ubuntu 22.04上配置HTTPS反向代理
  • 开疆智能Ethernet/IP转Modbus网关连接鸣志步进电机驱动器配置案例
  • 指针的定义与使用
  • Python 接口:从协议到抽象基 类(定义并使用一个抽象基类)
  • 虚幻引擎5-Unreal Engine笔记之SET节点的输出引脚获取设置后的最新变量值
  • 露亦如电 · 时之沙 | 让遗憾在灰烬里随风而去
  • CCPC chongqing 2025 L
  • Faiss向量数据库全面解析:从原理到实战
  • 5.4.2 Spring Boot整合Redis
  • 汇编语言学习(三)——DoxBox中debug的使用
  • 从代码学习深度强化学习 - 初探强化学习 PyTorch版
  • [学习] GNSS信号跟踪环路原理、设计与仿真(仿真代码)
  • RTOS学习之重难点