另一棵树的子树(oj题)

一、题目链接

https://leetcode.cn/problems/subtree-of-another-tree/submissions/536304222

二、题目思路

1.首先遍历大树,判断大树的根结点的值是否等于小树的根结点的值,如果不相等,就找大树的左孩子或者右孩子,以左孩子为根的结点的,如果等于小树的根结点的值,就调用判断两棵树是否相等的函数
 

2.如果返回值是true就说明小树是大树的子数,直接return true   。 如果不是,就要继续找该结点的左孩子或者右孩子继续判断,不能return false 。直到大树到了空节点时,说明小树不是大树的子树,return false。

3.左右子树之一符合就说明小树是大树的子树

三、题解代码

//判断两棵树是否相等函数
bool isSameTree(struct TreeNode* p, struct TreeNode* q) {//如果两颗树的根结点都是空,说明是相同的结点if(p==NULL&&q==NULL)return true;//如果两棵树的根结点只是其中之一为空,说明不是相同的结点if(p==NULL||q==NULL) return false;//如果两棵树的根结点都存在,但是值不相等,说明也不是相同的结点if(p->val!=q->val)return false;//每个结点的左右孩子结点都要综合判断return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
}//遍历大树的所有结点,判断以当前的结点为根结点的树,是否与小树相等
bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot){if(root==NULL)//如果大树遍历到空结点,说明小树不是大树的子树return false;//如果当前的根结点和小树的根结点的值相等,就调用判断两颗树是否相等函数if(root->val==subRoot->val)   {if(true==isSameTree(root,subRoot))//如果得到的是true就将结果返回,不是就不要返回return true;                       //因为还要判断以接下来的结点为根的树}// 左右子树其中之一成功就说明小树是大树的子树return isSubtree(root->left,subRoot) ||isSubtree(root->right,subRoot);}

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

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

相关文章

【线性表 - 数组和矩阵】

数组是一种连续存储线性结构,元素类型相同,大小相等,数组是多维的,通过使用整型索引值来访问他们的元素,数组尺寸不能改变。 知识点数组与矩阵相关题目 # 知识点 数组的优点: 存取速度快 数组的缺点: 事先必须知道…

php 实现:给图片加文字水印,图片水印,压缩图片

演示环境: 1、windows10 2、phpstudy 3、php7.4 一、案例演示: 二、素材准备 1、准备一张原始图片 2、准备一张水印图片(透明底图的最好) 3、字体库(windows系统自带的字体库,路径在:C:\Window…

Navicat连接Oracle

目标: 1.Navicat连接Oracle数据库,报错 无监听程序。 一、下载安装Navicat15 https://zhuanlan.zhihu.com/p/675991635 下载安装资源 链接:百度网盘 请输入提取码 提取码:1u1q 二、测试SQL PLUS连接数据库 在全部程序--》Ora…

Python | Leetcode Python题解之第123题买卖股票的最佳时机III

题目: 题解: class Solution:def maxProfit(self, prices: List[int]) -> int:n len(prices)buy1 buy2 -prices[0]sell1 sell2 0for i in range(1, n):buy1 max(buy1, -prices[i])sell1 max(sell1, buy1 prices[i])buy2 max(buy2, sell1 - …

Hadoop+Spark大数据技术 第七次作业

第七次作业 1. 简述Spark SQL使用的数据抽象DataFrame与Dataset的区别。 DataFrame: 基于 Row 对象的二维表格结构,类似于关系型数据库中的表。 行和列都有明确的 Schema(模式),可以进行类型推断。 提供了丰富的操作接口&#xff…

行列视(RCV)数据安全如何保障?

行列视(RCV)的数据安全保障是一项至关重要的任务,涉及多个层面的技术和策略来确保数据的完整性、保密性和可用性。以下是关于RCV数据安全保障的几个方面: 首先,RCV采用了先进的加密技术来保护数据的传输和存储。通过使…

英伟达(NVIDIA)A800性能及应用场景

英伟达(NVIDIA)A800是一款高性能的人工智能(AI)加速卡,设计用于满足大规模深度学习、数据分析以及其他高性能计算需求。以下是其主要性能参数及应用概述: 性能参数: 数据传输速率:…

docker私有镜像仓库的搭建及认证

简介: docker私有镜像仓库的搭建及认证 前言 在生产上使用的 Docker 镜像可能包含我们的代码、配置信息等,不想被外部人员获取,只允许内 网的开发人员下载。 Docker 官方提供了一个叫做 registry 的镜像用于搭建本地私有仓库使用。在内部网…

苍穹外卖数据可视化

文章目录 1、用户统计2、订单统计3、销量排名Top10 1、用户统计 所谓用户统计,实际上统计的是用户的数量。通过折线图来展示,上面这根蓝色线代表的是用户总量,下边这根绿色线代表的是新增用户数量,是具体到每一天。所以说用户统计…

CS4344国产替代音频DAC数模转换芯片DP7344采样率192kHz

目录 DAC应用简介DP7344简介结构框图DP7344主要特性微信号:dnsj5343参考原理图 应用领域 DAC应用简介 DAC(中文:数字模拟转换器)是一种将数字信号转换为模拟信号(以电流、电压或电荷的形式)的设备。电脑对…

BSD盲区检测系统性能要求及试验方法

相关术语 盲区检测(bsd,blind spot detection)试验车辆(subject vehicle)目标车辆(target vehicle)横向距离(lateral distance):试验车车身最外缘(不包含外后视镜)与目标车辆车身最外缘(不包含外后视镜)之间的横向距离。 纵向距离(longitudinal distance):试验…

SpringBoot的第二大核心AOP系统梳理

目录 1 事务管理 1.1 事务 1.2 Transactional注解 1.2.1 rollbackFor 1.2.2 propagation 2 AOP 基础 2.1 AOP入门 2.2 AOP核心概念 3. AOP进阶 3.1 通知类型 3.2 通知顺序 3.3 切入点表达式 execution切入点表达式 annotion注解 3.4 连接点 1 事务管理 1.1 事务…

云计算与 openstack

文章目录 一、 虚拟化二、云计算2.1 IT系统架构的发展2.2 云计算2.3 云计算的服务类型 三、Openstack3.1 OpenStack核心组件 一、 虚拟化 虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的 CPU、内存、IO 硬件资源,但逻辑上虚拟机之…

组装电脑(使用老机箱)

昨天同事拿来一台联想 ThinkCentre M6210t的台式机,说计算机实在是太慢了,在只保留主机箱想升级一下。   她拿来了配件,有电源、主板、CPU、CPU风扇、内存条、机箱风扇、硬盘:   主板:华硕 Prime H610M-K D4&#…

element-plus 自定义命名空间 el-config-provider namespace 不起作用,html 的class值改变了,但是样式不对

今天按照文档,对elemen plus vite 的项目,进行qiankun嵌套,发现子应用的element和主应用的element plus样式冲突,所以决定用element plus 的自定义命名空间处理下。 使用方法,按照文档来 第一步:vue文件内…

element-ui表格全选

项目场景&#xff1a; 根据项目需求&#xff0c;要求在表格外加【全选】复选框&#xff0c;切换分页也需将每一行都勾选上 实现方式&#xff1a; 借用element-ui文档的这几个方法和属性 <el-checkboxv-model"checkAll"change"handleCheckAllChange"&g…

【计算机网络】——物理层(图文并茂)

物理层 一.物理层概述1.物理层要实现的功能2.物理层接口特征1.机械特性2.电气特性3.功能特性4.过程特性 二.物理层下面的传输媒体1.传输媒体的分类2.导向型传输媒体1.同轴电缆2.双绞线3.光纤 3.非导向型传输媒体1.无线电波2.微波3.红外线4.激光5.可见光 三.传输方式1.串行传输与…

C语言经典例题-19

1.字符串左旋结果 题目内容&#xff1a;写一个函数&#xff0c;判断一个字符串是否为另外一个字符串旋转之后的字符串。 例&#xff1a;给定s1 AABCD和s2 BCDAA,返回1 给定s1 abcd和s2 ACBD,返回0 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA AABCD右旋一…

电子元器件商城批发模式介绍

随着互联网和电子商务的迅猛发展&#xff0c;电子元器件的批发模式也经历了显著的变化。传统的批发模式逐渐被电子元器件商城所取代&#xff0c;这种新兴的批发模式不仅提高了交易效率&#xff0c;还为买卖双方提供了更多的便利和选择。本文将详细介绍电子元器件商城的批发模式…

自动化桌面整理新时代:Llama 3驱动的智能文件管理系统

在信息爆炸的时代,个人和企业用户的电脑桌面常常被海量文件占据,导致查找特定文件如同大海捞针。为了解决这一痛点,Llama 3应运而生——一个集成了先进多模态AI技术的智能文件管家,旨在将杂乱无章的文件世界变得井然有序。本文将深入探讨Llama 3如何利用其创新功能,不仅自…