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

【刷题笔记9.24】LeetCode:二叉树最大深度

LeetCode:二叉树最大深度

1、题目描述:

给定一个二叉树 root ,返回其最大深度。
二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。
在这里插入图片描述

二、思路与算法

如果我们知道了左子树和右子树的最大深度 lll 和 rrr,那么该二叉树的最大深度即为

max(l,r)+1

而左子树和右子树的最大深度又可以以同样的方式进行计算。因此我们可以用「深度优先搜索」的方法来计算二叉树的最大深度。具体而言,在计算当前二叉树的最大深度时,可以先递归计算出其左子树和右子树的最大深度,然后在计算出当前二叉树的最大深度。递归在访问到空节点时退出

1. 先求出左子树最大深度,
2. 在求出右子树最大深度,
3. 然后比较左子树和右子树选取最大深度(从下往上比较)

三、代码实现

class Solution {public int maxDepth(TreeNode root) {if (root == null) {return 0;} else {//先求出左子树最大深度,在求出右子树最大深度,然后比较左子树和右子树选取最大深度(从下往上比较)int leftDepth = maxDepth(root.left);int rightDepth = maxDepth(root.right);return Math.max(leftDepth, rightDepth) + 1;}}
} 
http://www.lryc.cn/news/175095.html

相关文章:

  • 投资理财知识分享:100个金融知识专业术语
  • 【ESP8266+TM1650时钟数码管+DS3231模块】制作网络时钟
  • 手动安装Linux服务器JDK
  • 9月24日,每日信息差
  • 【Linux】详细介绍Linux重入不可重入带例子
  • 学术团体的机器人相关分会和机器人相关大赛的说明
  • C# 并发编程
  • 关于ClickHouse的表引擎和SQL操作
  • rust字符串
  • 解析-BeautifulSoup
  • C++:数组
  • 结合Mockjs与Bus事件总线搭建首页导航和左侧菜单
  • 模拟桌面自动整理, 先顶左,再顶上。
  • 新增MariaDB数据库管理、支持多版本MySQL数据库共存,1Panel开源面板v1.6.0发布
  • 【dbeaver】win环境的kerberos认证和Clouders集群中Kerberos认证使用Dbeaver连接Hive和Phoenix
  • MongoDB索引
  • ChatGPT的问世给哪些行业带来了冲击?
  • Elasticsearch:与多个 PDF 聊天 | LangChain Python 应用教程(免费 LLMs 和嵌入)
  • docker系列(7) - Dockerfile
  • Spring面试题8:面试官:说一说Spring的BeanFactory
  • Win10专业版系统一键重装怎么操作?
  • 十大服装店收银系统有哪些 好用的服装收银软件推荐
  • 算法通过村第八关-树(深度优先)白银笔记|深度和高度问题
  • Redis安装和使用
  • UML基础与应用之面向对象
  • 将 Ordinals 与比特币智能合约集成:第 2 部分
  • PCL 法线空间采样(C++详细过程版)
  • 论文阅读:AugGAN: Cross Domain Adaptation with GAN-based Data Augmentation
  • CNC 3D浮雕 Aspire 11.55 Crack
  • 【Clickhouse2022.02 查询优化】