二叉树【Java】

二叉树遍历

在这里插入图片描述

在这里插入图片描述

前序遍历 中序遍历 后续遍历

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

代码 前 中 后序遍历

package Trww;public class TreeTraversal {/*12   34   5 6*/public static void main(String[] args) {TreeNode tree = new TreeNode(new TreeNode(new TreeNode(4),2,null),1,new TreeNode(new TreeNode(5),3,new TreeNode(6)));preOrder(tree);System.out.println();inorder(tree);System.out.println();postOrder(tree);}
//    前序遍历static void preOrder(TreeNode node){if (node==null){return;}System.out.print(node.val+"\t");//值preOrder(node.left);preOrder(node.right);}
//    中序遍历static void inorder(TreeNode node){if (node==null){return;}inorder(node.left);System.out.print(node.val+"\t");//值inorder(node.right);}
//    后续遍历static void postOrder(TreeNode node){if (node==null){return;}postOrder(node.left);postOrder(node.right);System.out.print(node.val+"\t");//值}
}

对称二叉树

https://leetcode.cn/problems/symmetric-tree/description/

package Trww;public class E04Leetcode101 {public boolean isSymmetric(TreeNode root) {return check(root.left,root.right);}private boolean check(TreeNode left,TreeNode right){if (left==null && right==null){return true;}//判断左右是否为空有一个为空就不对if (right==null||left==null){return false;}//判断里面值if (left.val!=right.val){return false;}//左孩子的左边左孩子和右边的右孩子return check(left.left,right.right) &&check(left.right,right.left);}}

二叉树的最大深度

package Trww;public class E04Leecode104 {static int left=0;static int right=0;public static void main(String[] args) {TreeNode treeNode2 = new TreeNode(3);TreeNode treeNode = new TreeNode(9,treeNode2,treeNode2);System.out.println(maxDepth(treeNode));}static int maxDepth(TreeNode root) {if (root==null){return 0;}int d1 =maxDepth(root.left);int d2 =maxDepth(root.right);return Integer.max(d1,d2)+1;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/749104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Lua使用三目运算符取值

按照三目运算符的规则,lua的三目运算符可以写成:a and b or c b为false时,三目运算符是无效的。 提示:0在lua里也是真,condition and 0 or 1 这句代码没问题 如果你确认b为真,那么就用a and b or c&…

maven私服搭建详细教程

1、为什么需要私服 如果在公司中多个项目模块中的的公共类用的都是一样的,那么不可能将这些一样的代码写两遍。所以将其中一个项目中的代码打包成私服,然后在另外一个模块中去进行引用。 除此之外,如果大公司中开发人员较多,大家同…

什么是多模态学习?

1、定义与概念 多模态学习是一种机器学习方法,它利用多种不同的数据模态来训练模型,这些模态可能包括文本、图像、音频、视频等。多模态AI技术融合了多种数据模式,如文本、图片、视频和音频,以提供对场景的更透彻理解。这种技术的…

《ElementPlus 与 ElementUI 差异集合》icon 图标使用(包含:el-button,el-input和el-dropdown 差异对比)

安装 注意 ElementPlus 的 Icon 图标 要额外安装插件 element-plus/icons-vue. npm install element-plus/icons-vue注册 全局注册 定义一个文件 element-icon.js ,注意代码第 6 行。加上了前缀 ElIcon ,避免组件命名重复,且易于理解为 e…

Java开发从入门到精通(七):Java的面向对象编程OOP:常用API

Java大数据开发和安全开发 (一)Java的常用API1.1 Object类1.1 toString1.1 equals方法1.1 对象克隆clone1.1 Objects类1.1 包装类1.1 StringBuilder1.1 StringBuffer1.1 StringJoiner1.1 Math、System、Runtime1.1 BigDecimal1.1 传统时间:Da…

TinTin Web3 动态精选:以太坊坎昆升级利好 Layer2,比特币减半进入倒计时

TinTin 快讯由 TinTinLand 开发者技术社区打造,旨在为开发者提供最新的 Web3 新闻、市场时讯和技术更新。TinTin 快讯将以周为单位, 汇集当周内的行业热点并以快讯的形式排列成文。掌握一手的技术资讯和市场动态,将有助于 TinTinLand 社区的开…

【每日力扣】235. 二叉搜索树的最近公共祖先与39. 组合总和问题描述

🔥 个人主页: 黑洞晓威 😀你不必等到非常厉害,才敢开始,你需要开始,才会变的非常厉害。 235. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义…

硬件工程师入门基础知识(零)心法篇

硬件工程师入门基础知识(零)心法篇 1.为什么要当硬件工程师?2.什么是硬件工程师?3.怎么成为合格的硬件工程师?4.优秀的硬件工程师需要具备什么技能和品质?5.硬件工程师的成长路径?6.硬件工程师还有哪些职业可能?1.为什么要当硬件工程师? 很多快要毕业或者刚毕业的同学…

int与integer的区别

int和integer都是用来表示整数的数据类型,但有一些细微的区别。 int是Java中的基本数据类型,它可以存储整数值。int类型在内存中占4个字节,范围为-2,147,483,648到2,147,483,647。int类型使用最频繁,因为它的存储空间较小&#x…

【2024年5月备考新增】《软考真题分章练习 - 5 项目进度管理(高项)》

1、( ) is a technique for estimating the duration or cost of an activity or a project using historical data from a similar activity or project. A.Analogous estimating B. parametric estimating C.Three-Point estimating D. Bottom estimating 2、下图中(单位:…

如何本地搭建hMailServer邮件服务

文章目录 前言1. 安装hMailServer2. 设置hMailServer3. 客户端安装添加账号4. 测试发送邮件5. 安装cpolar6. 创建公网地址7. 测试远程发送邮件8. 固定连接公网地址9. 测试固定远程地址发送邮件 前言 hMailServer 是一个邮件服务器,通过它我们可以搭建自己的邮件服务,通过cpola…

Android中使用intent可以传递哪些类型的数据?

Intent可以传递的数据类型基本上分为四种; (1)基本数据类型(包括int,char,string等类型的数据); //传递String intent.putExtra("key_str","传递简单基础的数据");//获取 str = intent.getStringExtra("key_str"); (2)Bundle类型 …

C语言——预处理

宏定义 作用进行文本替换 #define 文本1 替换为 #define a 5 取消宏定义 #undef 取消宏定义 #define a 5 printf ("%d" ,a); #undef a printf ("%d" ,a);//在调用宏a时将报错 文件预处理 #include<>//现在系统目录中找&#x…

免密ssh密钥登录Linux该如何设置

我们在使用ssh客户端远程连接Linux服务器时&#xff0c;为了考虑安全方面的因素&#xff0c;通常使用密钥的方式来登录。密钥分为公钥和私钥&#xff0c;这两把密钥可以互为加解密。公钥是公开的&#xff0c;私钥是由个人自己持有&#xff0c;并且必须妥善保管和注意保密。 Li…

《圣斗士星矢》AI制作真人大电影宣传片

《圣斗士星矢》AI制作真人大电影宣传片 The ancient gods awaken, a battle of light and shadow unfolds.古神觉醒&#xff0c;光明与黑暗之战一触即发。 Heroes stand, facing the abyss of evil.英雄挺立&#xff0c;直面邪恶深渊。 The stars align, the chosen ones ris…

Linux:kubernetes(k8s)有状态的服务部署(14)

之前我都是对无状态进行的一个操作&#xff0c;我们想扩容就扩容&#xff0c;想缩容就缩容&#xff0c;根本不用去考虑他的一个网络环境&#xff0c;本地储存环境啥的一个状态 当我们做有状态的服务的操作&#xff0c;肯定要申请一个持久化的一个空间&#xff0c;以及网络&…

nginx代理

nginx代理 前言1、nginx下载下载路径下载稳定版本解析安装到指定目录下2、Nginx服务的启动和停止启动启动成功看我们的配置的端口是多少启动成功关闭nginx3、nginx报错日志路径4、nginx.conf的配置4.1通过root配置文件的存放地址4.2接口代理前言 nginx在平时项目部署中是一个经…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:GridItem)

网格容器中单项内容容器。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。仅支持作为Grid组件的子组件使用。 子组件 可以包含单个子组件。 接口 GridItem GridItem(value?: GridItemOptions)…

合作测试开发日志1

2024/3/16 创建了DreamWind项目&#xff0c;用于开发测试 搭建后端 userService.js const Service require("egg").Service;class UserInfoService extends Service {//1.登录验证&#xff08;根据用户名和密码进行查询&#xff09;async QueryUserByUserName…

apisix http请求转发插件by lua

应用场景&#xff1a; 用户请求想要生产的流量打到原有服务的同时&#xff0c;打到新开发的服务上试一下 注意的点&#xff1a; 1 nginx是不读请求体的&#xff0c;需要在配置文件中打开&#xff0c;或者读取前调用ngx.req.read_body()&#xff0c;然后通过local data ngx.r…