二叉树的最大深度

article/2025/9/16 14:19:47

题目

思路

二叉树大多用递归来实现,本题如果知道左子树的深度和右子树的深度,那么整个二叉树的深度就为max(左子树,右子树) + 1;该方法也叫做深度优先搜索

代码

package hot_100;public class MaxDepth {public static void main(String[] args) {//构造简单的二叉树TreeNode root = new TreeNode(3);root.left = new TreeNode(9);root.right = new TreeNode(20);root.right.left = new TreeNode(33);System.out.println(dfs(root));}public static int dfs(TreeNode root){if (root == null){return 0;}int left = dfs(root.left);int right = dfs(root.right);return Math.max(left, right) + 1;}}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;}
}

只构造了一个简单的二叉树进行测试

TODO

传入数组[3,9,20,null,null,15,7]的形式,返回一个二叉树。


http://chatgpt.dhexx.cn/article/mP1EWC6y.shtml

相关文章

c语言二叉树结点 深度,求二叉树的深度、总结点数和叶子结点数

二叉树的二叉链表的存储结构: typedef char TElemType; typedef struct BiTNode {TElemType data;//数据元素 BiTNode * lchild;//指向左孩子 BiTNode * rchild;//指向右孩子 }BiTNode,* BiTree; 一、二叉树的深度 如果二叉树为空,结点的深度为0; 如果二叉树只…

二叉树的深度和高度

二叉树的深度和高度的定义是不一样的,并且是相反的。深度是从上往下数的,高度是从下往上数的,即深度是从根节点到该节点的距离,高度是该节点到叶子节点的距离。当然树的高度和深度是相等的。 根节点的深度和高度为0,所…

求二叉树的深度

题目 写一个算法求一棵二叉树的深度,二叉树以二叉链表为存储结构 求二叉树深度的函数 //求二叉树深度 int getDepth(BTNode *T) {int LD,RD;//左右子树的深度if(TNULL){return 0;//设定空树的深度为0}else{//采用后根遍历LDgetDepth(T->lchild);//求左子树的深度…

二叉树的深度遍历

一、深度优先遍历 对于一棵二叉树,深度优先搜索(Depth First Search)是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。 二、二叉树的深度遍历的三种方法 这三种方法常被用于访问树的节点,它们之间的不同在于访问每…

正则匹配中文数字

正则匹配中文数字 运营导入小说时遇到小麻烦,想要在章节目录前面加一些符号,word等工具搜半天没搜到,就想着用正则匹配试一下, 于是用notepad试了一下,正则匹配中文数字章节。 表达式为:(第[\u4e00-\u9f…

IDEA创建一个maven项目

1.打开IDEA,点击“Create New Project”,创建项目。 2.首先选择“Maven”,然后选择本地配置的JDK,我安装的是JDK 1.8版本,然后next。 3.填写GroupId、ArtifactId,然后next。 4.填写相关信息,然后finish。 5.这时候一个…

maven项目怎么运行

怎么运行Maven项目?Maven来管理大型项目还是很不错的,要运行Maven项目,必须要让开发工具支持Maven,首先要下载Maven项目,然后配置,配置好Maven后,在配置Maven运行参数,需要的朋友看看…

如何创建一个Maven项目

目录 一、Maven是什么?二、Maven的作用三、Maven的下载与安装下载地址:安装:Maven环境变量配置 四、创建一个Maven项目(使用IDEA)添加依赖 一、Maven是什么? Maven 的本质是⼀个项⽬管理⼯具,将项⽬开发和管理过程抽象成⼀个项⽬对象模型&am…

超详细IDEA创建Maven项目

文章目录 一、Maven概述二、创建Maven项目三、Maven项目简单介绍3.1 标准化的项目结构3.2 标准化的构建流程3.3 方便的依赖管理 一、Maven概述 Maven是一个专门用于管理和构建Java项目的工具。我们之所以要使用Maven,是因为Maven可以为我们提供一套标准化的项目结构…

Maven项目的配置

Maven是什么?它的作用是什么? Maven是一种开源的构建工具,它可以自动化构建、测试、部署和管理Java项目。它提供了一个中心化的构建过程,包括依赖管理、项目结构管理、插件管理等,使得开发人员更方便地维护和协作应用…

Eclipse搭建Maven项目

目录 一、创建Maven项目 二、更换Eclipse自带的Maven版本 三、配置Maven仓库 四、更换Maven的jdk版本 五、更改Maven动态Web模块 六、把web2.3修改为web3.0 七、pro.xml文件的作用:加依赖,下载jar包 一、创建Maven项目 1. File -> New -> M…

如何Maven部署、Maven项目导入使用【亲测有效简洁】

Maven 一、Maven部署二、Maven项目导入 一、Maven部署 一、导入maven项目之前,删除掉不相关的,只留了源码src 和 配置文件pom 文件 ★ 重点删除对象:项目中的.idea 和 .iml 文件,以及编译生成的class文件全部删除 ■ 若是从官网…

Maven项目结构

文章目录 1. Maven2.标准化项目结构3. Maven坐标 1. Maven Maven项目对象模型,可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具项目管理工具软件 Apache Maven是一个(特别是Java编程)项目管理及自动构建工具&a…

Eclipse创建maven项目

一.环境 eclipse 2018 64位 ,jdk 1.8,maven 3.6,tomcat 8.5 创建前先把上面环境配置好,这里就不详细描述了。 二.创建步骤 1.打开eclipse,file—》new —》project,选择Maven—》Maven Project&#x…

如何创建Maven项目?

1 前言 在创建项目中,IDEA 提供了很多项目模板,比如 Spring MVC 模板,可以直接创建一个基于 Maven 的 Spring MVC 的 demo,各种配置都已经设定好了,直接编译部署就可以使用。 最开始自己创建 maven web 项目时&#xf…

在IDEA中创建maven项目

在IDEA中创建maven项目 现在的JavaWeb项目中,绝大多数都是采用的maven结构的项目,而对于maven支持的最好的IDE开发工具为IDEA,所以说我就以在IDEA上为例来进行maven开发的讲解。 和往常一样,为了避免由于开发工具版本的不同所造成的困扰&…

Maven项目(万字详解!)

1.Maven 1.1 项目管理问题 写项目时,我们需要引用各种 jar 包,尤其是比较大的工程,引用的 jar 包往往有几十个乃至上百个, 每用 到一种 jar 包,都需要手动引入工程目录,而且经常遇到各种让人抓狂的 jar 包…

Maven项目创建教程

Maven项目创建教程 1. 地址和库的配置 a)创建”库”文件 b)设置setting.xml文件 2. 创建“Maven” 项目 3. 三种运行”java”的方式 环境配置 在D盘或其他盘符下创建一个空的文件夹,命名”Repository“,必须是纯英文路径 打开”maven”安装文件路…

idea创建maven项目

1.修改maven主题:file-->settings-->appearance-->theme 2.首先打开IDEA后点击settings ,然后在VM Options内添加-DarchetypeCataloginternal 运行参数 (不做上面操作的话会导致maven 骨架生成速度缓慢到令人发指,卡在running tmp archetypexxxtmp这一步)…

Maven项目搭建

我们回顾一下maven规范的目录结构: 1、手动搭建Maven项目 我们先使用手动的方式来创建maven项目 (1)在D盘下创建目录mvnproject并进入该目录,作为我们的操作目录 (2)创建我们的maven项目,创建…