news 2026/7/18 14:36:41

JAVA练习305- 二叉树的最大深度

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
JAVA练习305- 二叉树的最大深度

题目概览

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

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

示例 1:

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

示例 2:

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

提示:

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

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

解题分析

方法一:深度优先搜索

当前节点就是一层,然后只需要知道左边节点和右边节点中的最大深度,就能得到答案,用递归即可。

时间复杂度:O(n)
空间复杂度:O(n)

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */ class Solution { public int maxDepth(TreeNode root) { if (root == null) { return 0; } return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1; } }

方法二:广度优先搜索

使用队列一层一层遍历,记录层数即可。

时间复杂度:O(n)
空间复杂度:O(n)

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */ class Solution { public int maxDepth(TreeNode root) { if (root == null) { return 0; } Queue<TreeNode> dq = new LinkedList<>(); dq.offer(root); int maxDepth = 0; while(!dq.isEmpty()) { int size = dq.size(); while(size-- > 0) { TreeNode node = dq.poll(); if (node.left != null) { dq.offer(node.left); } if (node.right != null) { dq.offer(node.right); } } maxDepth++; } return maxDepth; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/18 14:31:53

栈和队列的应用

栈在括号匹配中的应用 最后出现的左括号最先被匹配**(LIFO)**每出现一个右括号&#xff0c;就出栈一个左括号若没有匹配的左括号&#xff0c;报错 #mermaid-svg-AnBut5Xeeyobz4ug{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@…

作者头像 李华
网站建设 2026/7/18 14:29:53

184、退化盲解:BSRGAN的随机退化策略与无监督超分训练技巧

184、退化盲解:BSRGAN的随机退化策略与无监督超分训练技巧 去年做项目的时候,客户甩过来一批监控截图,要求把车牌放大四倍。我兴冲冲把EDSR、RCAN这些经典模型跑了一遍,结果惨不忍睹——模型在公开数据集上PSNR高得吓人,一到真实低质图像就崩,模糊、噪声、压缩伪影混在一…

作者头像 李华
网站建设 2026/7/18 14:24:38

3分钟快速上手:VideoDownloadHelper视频下载助手终极指南

3分钟快速上手&#xff1a;VideoDownloadHelper视频下载助手终极指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 还在为无法保存网页上的…

作者头像 李华
网站建设 2026/7/18 14:24:30

你的普通鼠标如何在macOS上实现专业级工作流革命?

你的普通鼠标如何在macOS上实现专业级工作流革命&#xff1f; 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 你是否曾经想过&#xff0c;一个简…

作者头像 李华