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

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

目录

一. 另一颗树的子树

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.kler.cn/a/322252.html

相关文章:

  • 使用 SMB 协议从win10电脑访问同网段ubuntu电脑文件
  • fastapi 调用ollama之下的sqlcoder模式进行对话操作数据库
  • AI模型新发现:精度的重要性超出预期
  • React解决保存less文件后会自动生成css文件的方法
  • 【2】猫眼娱乐后端开发面试题整理
  • MySQL —— MySQL索引介绍、索引数据结构、聚集索引和辅助索引、索引覆盖
  • AI智能时代:哪款编程工具让你的工作效率翻倍?
  • C++(9.25)
  • mysql笔记—sql性能分析
  • C#的结构体(Struct)应用示例
  • BUG——IMX6ULL编译正点原子Linux内核报错
  • QMT如何获取股票基本信息?如上市时间、退市时间、代码、名称、是否是ST等。QMT量化软件支持!
  • 基于SSM+小程序的医院挂号登录管理系统(医院4)(源码+sql脚本+视频导入教程+文档)
  • 一六九、go使用泛型封装一个可以应用于任何字段的模糊匹配
  • 【C/C++】速通涉及string类的经典编程题
  • Redis的数据类型和编码方式
  • uniapp实现图片上下浮动效果
  • 多速率信号处理-半带滤波器
  • 【漏洞复现】灵当CRM multipleUpload.php接口处存在文件上传漏洞
  • 高通Android 12 push framework.jar和service.jar
  • VMware Tools安装——VMware Tools是灰色的,不能安装, (不带图形化界面的虚拟机,只有命令行的模式!!!)
  • 【网络底层原理】I/O多路复用技术select、poll和epoll详解与比较
  • uniapp微信小程序遮罩层u-popup禁止底层穿透
  • 如何延长变阻器的使用寿命?
  • 【解密 Kotlin 扩展函数】扩展函数的底层原理(十八)
  • 9.23 My_string.cpp