检查子树00

news2024/11/22 23:50:14

题目链接

检查子树

题目描述

注意点

  • 树的节点数目范围为[0, 20000]

解答思路

  • 递归判断t1和t2的val是否相同,如果相同,则继续递归判断其左右子树的值是否都相同,如果都相同则返回true;如果不相同,则继续递归判断t1的左右子树和t2的val是否相同
  • 需要注意的是,如果t1和t2的val相同,在判断其左右子树的值是否相同时,如果不同,则直接返回false;而在判断t1和t2的val不同时,不应该直接返回false,还需要判断t1的左右子树与t2是否相同,所以还需要传递isRoot记录t2是否是根节点

代码

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public boolean checkSubTree(TreeNode t1, TreeNode t2) {
        return preOrder(t1, t2, true);
    }

    public boolean preOrder(TreeNode t1, TreeNode t2, boolean isRoot) {
        if (t1 == null && t2 == null) {
            return true;
        }
        if (t1 == null || t2 == null) {
            return false;
        }
        if (t1.val != t2.val) {
            if (!isRoot) {
                return false;
            }
            return preOrder(t1.left, t2, isRoot) || preOrder(t1.right, t2, isRoot);
        }
        boolean flag = preOrder(t1.left, t2.left, false) && preOrder(t1.right, t2.right, false);
        if (flag) {
            return true;
        }
        return preOrder(t1.left, t2, isRoot) || preOrder(t1.right, t2, isRoot);
    }
}

关键点

  • 递归的思路
  • 注意递归判断t1的某个节点和t2的根节点、t1的某个节点和t2和某个节点不相同的分类情况

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

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

相关文章

剧本新纪元:探索短剧系统的魔力

在现代社会,随着科技的迅猛进步和生活节奏的不断加快,传统的长篇电视剧和电影已不能完全满足所有人的需求。短剧,由于其简短、快速、直接的特性,正在逐步成为一种文化新趋势。短剧系统正是这一趋势的典型代表,它以独特…

tracetcp下载 安装 使用 网络工具 windows trace工具 tcp协议

省流 Tracetcp是一个类似于Tracert的工具,使用如下: 1. 安装winpcap , 下载链接:WinPcap Download 2.下载tracetcp软件,下载链接: https://github.com/0xcafed00d/tracetcp/releases 命令:…

如何学习软件测试,并成功找到工作

在IT行业日益繁荣的今天,软件测试作为确保软件质量的关键环节,越来越受到企业的重视。对于初入职场的小白来说,掌握软件测试技能不仅能够帮助他们快速适应工作,还能为未来的职业发展奠定坚实的基础。本文将为职场小白推荐学习软件…

如何翻译和本地化游戏?翻译访谈

如何翻译和本地化游戏?这个过程的技术细节有哪些?游戏翻译不同于电影翻译。Logrus IT游戏本地化部门负责人阿列克谢费奥多罗夫(Alexey Fedorov)在接受RUDN语言学系外语系教授和研究人员的采访时谈到了这一点,他是由尤利…

一、JAVA性能调优之linux命令工具

一、linux性能收集和统计工具 二、JAVA性能调优之jdk命令工具 一、linux性能收集和统计工具 linux在性能遇到问题时,常用的查看分析命令有 top:能够实时显示系统各个进程的资源占用情况;sar:可以周期性的对内存CPU使用情况采样…

现货黄金投资价格怎么分析 低买高卖是核心!

我们做现货黄金投资,总是离不开对黄金价格的分析,分析其实就是一种理性的思考,我们对现货黄金当前走势进行一番思考,进而判断它未来的走向,以此作为自己投资入场的基础。那黄金投资价格怎么分析呢?下面我们…

MySQL 核心模块揭秘 | 20 期 | MySQL 怎么加表锁?

意向共享锁、意向排他锁、AUTO-INC 锁是 InnoDB 最常用的表锁,它们的加锁流程是什么样的? 作者:操盛春,爱可生技术专家,公众号『一树一溪』作者,专注于研究 MySQL 和 OceanBase 源码。 爱可生开源社区出品&…

Ecahrts横向柱状图自动滚动

1.定义一个定时器标识 let timer: NodeJS.Timer; // 定时器 2.定义展示的数据的条数 const dataZoomEndValue 5; // 数据窗口范围的结束数值(一次性展示几个) 3.设置datazoom的相关参数 dataZoom: [{show: false, // 是否显示滑动条xAxisIndex: 0, // 表示从X轴的零刻度线…

植物大战僵尸杂交版 MacBook 苹果电脑下载安装详细教程

最近老是看到别人玩植物大战僵尸杂交版,可是找了一圈发现都是PC版本的,原来游戏作者只做了一个PC版本,还好最终没有放弃终于在 Mac 上安装上了植物大战僵尸杂交版 版本是 2.0.88 真的蛮好玩的就是关卡有亿点点难,我最爱玩无尽模式…

四川赤橙宏海商务信息咨询有限公司靠谱吗?

在数字化浪潮席卷而来的今天,电商行业正经历着前所未有的变革。四川赤橙宏海商务信息咨询有限公司,凭借其深厚的行业经验和敏锐的市场洞察力,专注于抖音电商服务领域,致力于为广大商家提供全方位、高效益的电商解决方案。 赤橙宏…

闪烁圆点加载动画

效果图: 完整代码: <!DOCTYPE html> <html> <head><meta charset="UTF-8" /><title>闪烁圆点加载动画</title><style type="text/css">body {background: #ECF0F1;display: flex;justify-content: center;al…

Linux部署mysql8.0.28数据库

目录 1.基础准备 (1)首先去官网下载二进制安装包 (2)下载好之后上传至服务器 (3)禁用关闭selinux和防火墙 (4)挂载光盘搭建本地yum仓库 2.解压到指定目录 3.检查系统是否安装mariadb 4.安装MySQL数据库 (1)进入MySQL目录 看到‘完毕’就说面mysql已经安装成功了 4.初…

易基因:【表观遗传学基础】如何研究DNA甲基化

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 表观遗传学近几年取得的一系列研究进展&#xff0c;确实吸引着越来越多的关注&#xff01;为了帮大伙儿梳理一下表观遗传学的基本概念和研究方法&#xff0c;小编打算开一个系列专题&…

设备物联网关在实际生产中的作用解析-天拓四方

随着物联网技术的迅猛发展&#xff0c;设备物联网关作为连接物理世界与数字世界的核心组件&#xff0c;其应用已经渗透到工业、农业、医疗等多个领域。本案例将聚焦于设备物联网关在某制造企业中的应用&#xff0c;详细解析其在实际生产中的重要作用。 案例背景 某制造企业面…

wms海外仓系统重要吗?对小型海外仓有哪些好处

虽然小型海外仓本身的体量不大&#xff0c;但是在面对激烈的竞争和日益复杂的客户需求面前&#xff0c;要想赢得一席之地&#xff0c;wms海外仓系统还是一个非常必要的工具的。 对于小型海外仓来说&#xff0c;面对的业务复杂度其实并不比大型海外仓小&#xff0c;甚至更大。 …

高精度定位技术的必要性与实际应用

在当今社会&#xff0c;随着科技的飞速发展&#xff0c;高精度精准定位技术已成为一项不可或缺的基础技术&#xff0c;其应用范围涉及军事、航空、智能交通、无人驾驶、智慧城市建设等众多领域。高精度精准定位不仅为人们的日常生活带来极大便利&#xff0c;还对提升国家的科技…

Docker Hub无法访问,DBdoctor的应对之策

近期我们收到很多小伙伴的咨询&#xff1a;Docker Hub无法访问&#xff0c;DBdoctor该如何下载安装呢?本文我们将详细给大家介绍DBdoctor的多种部署方式&#xff0c;以及如何快速下载以及安装部署DBdoctor。 DBdoctor部署架构 首先我们来看下DBdoctor的部署架构&#xff0c;…

TikTok引领小众文化与亚文化:崛起与融合的新舞台

近年来&#xff0c;TikTok已经成为全球最受欢迎的社交媒体平台之一。其独特的短视频格式和强大的算法推荐系统&#xff0c;使得各种内容能够迅速传播并吸引大量观众。TikTok不仅为主流文化提供了展示平台&#xff0c;更为各种小众文化和亚文化提供了前所未有的展示机会。本文No…

推荐丨怎么才能让网站实现HTTPS访问?

网站实现HTTPS访问主要包括以下几个步骤&#xff1a; 一、选择并获取SSL证书 确定证书类型&#xff1a;根据网站的需求和预算&#xff0c;选择合适的SSL证书类型&#xff0c;如域名验证&#xff08;DV&#xff09;、组织验证&#xff08;OV&#xff09;或扩展验证&#xff08…

英语常用的英语句型,柯桥成人英语培训

句型1&#xff1a;There&#xff0b;be &#xff0b;主语&#xff0b;地点状语/ 时间状语 There’s a boat in the river. 河里有条船. 句型2&#xff1a;What’s wrong with&#xff0b;sb. / sth. &#xff1f; What’s wrong with your watch&#xff1f;你的手表有什么毛病…