【LeetCode面试经典150题】104. 二叉树的最大深度

embedded/2024/10/20 0:45:22/

一、题目

  • 104. 二叉树的最大深度 - 力扣(LeetCode)
  • 给定一个二叉树 root ,返回其最大深度。

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

二、思路

  1. 二叉树的题目就是递归,怎么递归呢?
  2. 要求的是最大深度,就是说可以递归的深入树的每一个枝干,每深入到一层就给计数器加一,最后返回最深的那次递归即可;
  3. 具体到代码中,二叉树有左右两个儿子,左右儿子又有自己的儿子,那递归思路就可以确定为应该利用左右儿子的特性;
  4. 具体看解法一

三、解法

解法一

class Solution {public int maxDepth(TreeNode root) {return root == null ? 0 : 1 + Math.max(maxDepth(root.left), maxDepth(root.right));}
}

解析:递归的题解从最深一层递归看起,如代码所示,最深一层递归即为目前的 root 指向某个叶子节点,其左右均为空,再进入一次递归时 root 就为空,返回 0 ,每次返回上一级计数就会加一,最后返回到根节点时,代表的是其左右子树的深度取Max,即为所求;


http://www.ppmy.cn/embedded/43506.html

相关文章

【学习笔记】Windows GDI绘图目录

题外话 不知几时开始,觉得学习过程中将内容记录下来,有助于加强记忆,还方便后续查找,顺便帮助有需要的人,更有来自您阅读、点赞、收藏和评论时给我带来的动力与兴奋。 目录 【学习笔记】Windows GDI绘图(一)图形概述…

LeetCode/NowCoder-栈和队列OJ练习

孜孜不倦:孜孜:勤勉,不懈怠。指工作或学习勤奋不知疲倦。💓💓💓 目录 说在前面 题目一:括号匹配问题 题目二:用队列实现栈 题目三:用栈实现队列 题目四:设…

【C++】牛客——活动安排

✨题目链接: AB31 活动安排 ✨题目描述 给定𝑛个活动,每个活动安排的时间为[𝑎𝑖,𝑏𝑖)。求最多可以选择多少个活动,满足选择的活动时间两两之间没有重合。 ✨输入描述: 第一行…

kafka 消费模式基础架构

kafka 消费模式 &基础架构 目录概述需求: 设计思路实现思路分析1.kafka 消费模式基础架构基础架构2: 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,…

车机壁纸生成解决方案,定制化服务,满足个性化需求

在数字化与智能化浪潮的推动下,汽车内部设计已不再仅仅满足于基本功能的需求,更追求为用户带来前所未有的视觉享受与沉浸式体验。美摄科技,凭借其在图像生成与处理领域的深厚积累,推出了一款创新的车机壁纸生成解决方案&#xff0…

位置编码(三) 2D旋转位置编码

Rotary Position Embedding for Vision Transformer https://arxiv.org/abs/2403.13298https://kazemnejad.com/blog/transformer_architecture_positional_encoding/Transformer升级之路:4、二维位置的旋转式位置编码 https://kexue.fm/archives/8397Transformer升…

Pyinstaller打包exe文件解决指南

打包命令 打包 Python 文件 输入如下格式的命令即可 默认命令 Pyinstaller 文件名.py Pyinstaller -option1 -option2 -... 要打包的文件 Pyinstaller 文件名.pyPyinstaller -option1 -option2 -... 要打包的文件 参数选项比较多,这里我列一个表:…

手撕C语言题典——返回倒数第 k 个节点(面试题)

前言 依旧力扣,这道题之前有做过类似的题,今天给一个新的思路去做,应对面试时候遇到的奇奇怪怪的问题 面试题 02.02. 返回倒数第 k 个节点 - 力扣(LeetCode)https://leetcode.cn/problems/kth-node-from-end-of-list-…