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

news2024/11/16 19:55:46

目录

一. 另一颗树的子树

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 处理多个 case
            String 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.coloradmin.cn/o/2172225.html

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

相关文章

Linux开源网络:网络虚拟化

Linux 网络虚拟化的主要技术是网络命名空间以及各类虚拟网络设备。例如要介绍的 veth、Linux bridge、tun/tap 等&#xff0c;这些虚拟网络设备模拟了物理设备的功能&#xff0c;但完全在内核层面由代码实现。容器网络正是基于这些虚拟网络设备&#xff0c;模拟现实世界中的物理…

《自控原理》系统传递函数的零极点模型、分式模型、系统增益

目录 传递函数模型与零极点 系统增益 《自动控制原理》胡寿松&#xff0c;第六版 传递函数模型与零极点 (3-61)所示的是系统的传递函数的分式形式。他一定可以化成&#xff08;3-62&#xff09;形式。 根据3-62的分母可以直接看出系统的特征根&#xff0c;不过要注意&#…

前端框架对比与选择:全面解析前端开发的得力助手

一、引言 在当今快速发展的互联网时代&#xff0c;前端开发扮演着至关重要的角色。前端框架的出现极大地提高了开发效率、提升了用户体验。然而&#xff0c;市场上存在着众多的前端框架&#xff0c;如React、Vue、Angular等&#xff0c;对于开发者来说&#xff0c;如何在这些框…

使用 Paramiko 实现 SSH 远程连接和命令执行

使用 Paramiko 实现 SSH 远程连接和命令执行 每当灶火燃起&#xff0c;香气弥漫&#xff0c;熟悉的味道植入记忆深处&#xff0c;家&#xff0c;才获得完整的意义。万户千家&#xff0c;味道迥异&#xff0c;但幸福的滋味&#xff0c;却何其相同。 ——《风味人间》 在现代网络…

Linux集群部署RabbitMQ

目录 一、准备三台虚拟机&#xff0c;配置相同 1、所有主机都需要hosts文件解析 2、所有主机安装erLang和rabbitmq 3、修改配置文件 4、导入rabbitmq 的管理界面 5、查看节点状态 6、设置erlang运行节点 7、rabitmq2和rabbitmq3重启服务 8、查看各个节点状态 二、添加…

计算机视觉|机器学习中图片特征向量的提取方式:开启图像世界的钥匙

文章目录 什么是特征向量&#xff1f;常见的图片特征向量提取方法1. **手工设计的特征**SIFT&#xff08;尺度不变特征变换&#xff09;HOG&#xff08;方向梯度直方图&#xff09; 2. **卷积神经网络 (CNN)**3. **预训练模型**4. **自监督学习** 结语 今天我们将一起深入探讨机…

powerbi计算销售额同比增长率

在上一篇我们介绍了销售额累计同比增长率的计算方法&#xff0c;本篇将为大家接受销售额同比增长率的计算&#xff0c;建议大家结合上篇阅读&#xff0c;可以比较一下不同之处&#xff0c;注意区分&#xff0c;上一篇链接如下&#xff1a; powerbi计算销售额累计同比增长率——…

基于Hive和Hadoop的共享单车分析系统

本项目是一个基于大数据技术的共享单车分析系统&#xff0c;旨在为用户提供全面的单车使用信息和深入的出行行为分析。系统采用 Hadoop 平台进行大规模数据存储和处理&#xff0c;利用 MapReduce 进行数据分析和处理&#xff0c;通过 Sqoop 实现数据的导入导出&#xff0c;以 S…

C语言VS实用调试技巧

文章目录 一、什么是bug?二、什么是调试&#xff1f;三、Debug和Release四、VS调试快捷键4.1环境准备4.2调试快捷键 五、监视和内存观察5.1监视5.2内存 六、调试举例七、编程常见错误归类7.1编译型错误7.2链接型错误7.3运行时错误 一、什么是bug? &#x1f34e;bug本意是 “…

外国名人面孔识别系统源码分享

外国名人面孔识别检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer…

【安当产品应用案例100集】018-Vmware Horizon如何通过安当ASP身份认证系统增强登录安全性

启用Radius认证是提高VMware Horizon环境安全性的有效方法&#xff0c;特别是在需要满足复杂安全要求的场景中。 启用Radius认证对于VMware Horizon具有以下几个关键优势&#xff1a; 增强安全性&#xff1a;Radius认证支持多种认证方法&#xff0c;包括PAP、CHAP、MS-CHAPv1…

Funsound 跨语言语音翻译

对任意语言的音视频识别得到目标语言文字结果&#xff0c;支持100种语言互译&#xff0c;视频支持在线添加字幕 体验地址 https://www.funsound.cn/st https://modelscope.cn/studios/QuadraV/Funsound_Multiligual_translator https://huggingface.co/spaces/QuadraV/Funsou…

基于nodejs的网球/篮球/体育场地管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目…

【芋道源码】gitee很火的开源项目pig——后台管理快速开发框架使用笔记(微服务版之本地开发环境篇)

后台管理快速开发框架使用笔记&#xff08;微服务版之本地开发环境篇&#xff09; 后台管理快速开发框架使用笔记&#xff08;微服务版之本地开发环境篇&#xff09; 后台管理快速开发框架使用笔记&#xff08;微服务版之本地开发环境篇&#xff09;前言一、如何获取项目&#…

HAL+M4学习记录_2

一、Boot配置 内存地址是固定的&#xff0c;代码从0x0000 0000开始&#xff0c;而数据从0x2000 0000开始&#xff0c;F4支持三种不同的boot模式 复位芯片时&#xff0c;在SYSCLK的第4个上升沿BOOT引脚值被锁存&#xff0c;STM32F407通过此时BOOT[1:0]引脚值选择Boot模式 BOOT1…

一种误差较小的计算轮廓法向的方法

1.前言 轮廓有正面和反面&#xff0c;可以通过其法向识别正反面&#xff0c;而法向是轮廓或面的重要特征&#xff0c;求轮廓法向是一种基础的几何工具算法。 由于浮点数存储和运算的精度损失&#xff0c;可能造成求轮廓法向的精度损失&#xff0c;如角点由于精度损失并非精确的…

工业5G路由器赋能防灾减灾地震监测物联网应用

在智慧城市及科技迅速发展的时代&#xff0c;地震监测作为防灾减灾的关键设施&#xff0c;正逐渐融入物联网技术的广阔蓝图中。工业物联网路由器作为关键的通讯枢纽&#xff0c;赋能地震监测实现智能化升级。 地震监测过程要求数据传输的实时性和准确性&#xff0c;而工业物联网…

DK5V100R15ST1直插TO220F,12V 4A两个引脚同步整流芯片

高性能两个引脚同步整流芯片 DK5V100R15ST1产品 概述DK5V100R15ST1是一款简单高效率的同步整流芯片&#xff0c;只有A&#xff0c;K两个引脚&#xff0c;分别对应肖特基二极管PN管脚。芯片内部集成了100V功率NMOS管&#xff0c;可以大幅降低二极管导通损耗&#xff0c;提高整机…

【计算机网络 - 基础问题】每日 3 题(二十五)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…

为什么电瓶车上楼充电引起的电气火灾还是一直发生?

0引言 近日&#xff0c;电瓶车火灾事件再次发生&#xff0c;随后主管部门、物业等相关方纷纷发布通知&#xff0c;提出种种禁令&#xff0c;然而这些措施似乎并未触及问题的核心&#xff0c;其效果也显得微乎其微。唯有从根本上解决问题&#xff0c;才能有效消除安全隐患。回顾…