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

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

目录

一. 另一颗树的子树

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 解决

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);}
}

相关文章:

  • 阿博图书馆管理系统:SpringBoot技术应用
  • c语言中的杨氏矩阵的介绍以及元素查找的方法
  • django drf 分页器
  • MP4 格式:前世今生与技术解析
  • HarmonyOS鸿蒙系统开发应用程序,免费开源DevEco Studio开发工具
  • 高级前端进阶:揭秘 MemFire Cloud 的强大助力
  • python和pyqt-tools安装位置
  • pyside6与协程
  • Python基础知识 (九)os模块、异常、异常的传递性
  • MySql语言操作数据库---MySql引擎,数据表,约束,基本查询,条件查询
  • 光耦知识分享 | 浅析施密特触发器光耦的主要特点
  • golang 反射的介绍和使用
  • 别人都在百度云智大会上吹,我就说点别的……
  • Linux进程:fork函数深度剖析
  • “天翼云息壤杯”高校AI大赛开启:国云的一场“造林”计划
  • 【面试系列】之二:关于js原型
  • 10个确保微服务与容器安全的最佳实践
  • Angular 4.x 动态创建组件
  • Asm.js的简单介绍
  • classpath对获取配置文件的影响
  • echarts花样作死的坑
  • export和import的用法总结
  • Git 使用集
  • gops —— Go 程序诊断分析工具
  • IndexedDB
  • Java编程基础24——递归练习
  • Linux链接文件
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • redis学习笔记(三):列表、集合、有序集合
  • 京东美团研发面经
  • 聊聊hikari连接池的leakDetectionThreshold
  • 判断客户端类型,Android,iOS,PC
  • 前端攻城师
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #Linux(Source Insight安装及工程建立)
  • (55)MOS管专题--->(10)MOS管的封装
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (python)数据结构---字典
  • (pytorch进阶之路)扩散概率模型
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (四)c52学习之旅-流水LED灯
  • (限时免费)震惊!流落人间的haproxy宝典被找到了!一切玄妙尽在此处!
  • (转载)Linux 多线程条件变量同步
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .net(C#)中String.Format如何使用
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .net解析传过来的xml_DOM4J解析XML文件