[数据结构] 二叉树题目 (二)

devtools/2024/10/4 14:55:24/

目录

一. 另一颗树的子树

1.1 题目

1.2 示例

1.3 分析

1.4 解决

二. 平衡二叉树

2.1 题目

2.2 示例

2.3 分析

2.4 解决

三. 二叉树的遍历和创建

3.1 题目

3.2 示例

3.3 解决


一. 另一颗树的子树572. 另一棵树的子树 - 力扣(LeetCode)

1.1 题目

1.2 示例

1.3 分析

遍历root树, 找到与subRoot树起始节点数值相等的节点. 之后再判断以这个节点起始的子树是否与subRoot相同.

1.4 解决

 


二. 平衡二叉树110. 平衡二叉树 - 力扣(LeetCode)

2.1 题目

2.2 示例

2.3 分析

平衡二叉树: 每个节点的左右子树的高度差 <= 1.

前序遍历每个节点, 再分别求出每个节点左右子树的高度, 最后做差判断是否符合条件.

2.4 解决


三. 二叉树的遍历和创建二叉树遍历_牛客题霸_牛客网 (nowcoder.com)

3.1 题目

3.2 示例

3.3 解决

java">import java.util.Scanner;
class TreeNode {char ch;TreeNode left;TreeNode right;TreeNode(char ch) {this.ch = ch;}
}
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNext()) { // 注意 while 处理多个 caseString string = in.next();// System.out.println(string);// 创建二叉树TreeNode root = createTree(string);// 中序遍历inorderTree(root);}}public static int i = 0;public static TreeNode createTree(String string) {if (i == string.length()) return null;TreeNode root = null;if (string.charAt(i) == '#') {i++;} else {root = new TreeNode(string.charAt(i));i++;root.left = createTree(string);root.right = createTree(string);}return root;}public static void inorderTree(TreeNode root) {if (root == null) return;inorderTree(root.left);System.out.print(root.ch + " ");inorderTree(root.right);}
}


http://www.ppmy.cn/devtools/121310.html

相关文章

硬件-开关电源-结构组成及元件作用

文章目录 一&#xff1a;开关电源组成1.1 开关电源是什么&#xff1f;1.2 开关电源六个组成部分 二&#xff1a;六个组成部分的作用2.1 EMC区域2.2 输入整流滤波区域2.3 控制区域2.4 变压器2.5 输出整流滤波区域2.6 反馈电路区域道友:勿以小恶弃人大美&#xff0c;勿以小怨忘人…

2-2.Jetpack 之 Room 简单编码模板(优化版)(Entity、DAO、Database、Repository)

一、Room 1、Room 概述 Room 是 Jetpack 中的一个重要成员&#xff0c;它是一个持久化库&#xff0c;它为管理数据库提供了简单强大的方法 2、Room 引入 在模块级 build.gradle 中引入相关依赖 implementation "androidx.room:room-runtime:2.2.5" annotationPr…

华为OD机试 - 区间交叠问题 - 贪心算法(Python/JS/C/C++ 2024 E卷 200分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…

vue基于Spring Boot框架的高校实验室预约管理系统

目录 毕设制作流程功能和技术介绍系统实现截图开发核心技术介绍&#xff1a;使用说明开发步骤编译运行代码执行流程核心代码部分展示可行性分析软件测试详细视频演示源码获取 毕设制作流程 &#xff08;1&#xff09;与指导老师确定系统主要功能&#xff1b; &#xff08;2&am…

行为设计模式 -观察者模式- JAVA

观察者模式 一.简介二. 案例2.1 抽象主题&#xff08;Subject&#xff09;2.2 具体主题&#xff08;Concrete Subject&#xff09;2.3 抽象观察者&#xff08;Observer&#xff09;2.4 具体观察者&#xff08;Concrete Observer&#xff09;2.5 测试 三. 结论3.1 优缺点3.2 使用…

linux 查看端口占用

文章目录 查看端口占用使用lsof使用netstat 查看端口占用 使用lsof 可以使用lsof -i:端口号 来查看端口占用情况 lsof -i:8010 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 35653 zhanghe 10u IPv4 0xcac2e413ddf9c5b9 0t0 …

Debezium日常分享系列之:将Debezium移至基金会

Debezium日常分享系列之&#xff1a;将Debezium移至基金会 介绍为什么要移至基金会&#xff1f;支持和与红帽价值观的一致性社区反馈 我们正在考虑将Debezium移至一个软件基金会&#xff0c;以扩大我们的社区&#xff0c;使我们的路线图和决策更加开放透明&#xff0c;并鼓励多…

JavaSE——面向对象8:Object类详解(==与equals的区别、hashCode、toString方法)

目录 一、与equals()的区别 (一)是一个比较运算符 (二)equals是Object类中的方法&#xff0c;只能判断引用类型 (三)equals方法重写练习 1.练习1 2.练习2 3.练习3 二、hashCode方法 三、toString方法 1.默认返回&#xff1a;全类名(包名类名)哈希值的十六进制 (1)不…