树的子结构

【科学刷题】树的子结构与子树判断 文章目录1. 判断【树B】是否是【树A】的【子结构】/【子树】1.1 概念阐述1.2 完全匹配的情况1.3 部分匹配的情况2. 查找所有重复子树 1. 判断【树B】是否是【树A】的【子结构】/【子树】 1.1 概念阐述 首先阐述一个概念:子结构匹配与子树匹配 匹配: 完全匹配就是A的子结构与B完全匹配 部分匹配: 部分匹配就是A的子结构与B部分匹配,A的子结构允许有与B不匹配的其他结构 如何判断是【完全匹配】还是【部分匹配】呢?我们需要仔细读题: 1.2 完全匹配的情况 1.3 部分匹配的情况 2. 查 阅读详情

题目:输入两颗二叉树A和B 判断B是不是A的子结构 二叉树结点定义如下;

首先 从树根开始遍历树


如果结点与 B的根结点值相同 则继续遍历A的左子树 以及B的左子树 如果左子树相同则遍历A的右子树以及B的左子树 如果左右子树都相同则 A包含B

如果结点与B的根节点值不同 则遍历到A的左孩子 重复上述判断做孩子是否含有B 如果左子树不含有B 则遍历到A的右子树 判断其是否含有B


因此 首先遍历A 即树的中序遍历 如果结点与B的根节点值相同 则递归遍历A中当前节点与B 各自结点是否相同 

递归截止条件是达到了A或B的叶节点 




struct BinaryTreeNode{
	int m_nValue;
	BinaryTreeNode *m_pLeft;
	BinaryTreeNode *m_pRight;
};
bool  hastree(BinaryTreeNode *A,BinaryTreeNode *B)
{
	bool r=false;
	if(A!=NULL && B!=NULL)
	{
	if(A->m_nValue==B->m_nValue)
		r= haschild(A,B);
	if(r==false)
		r=hastree(A->m_pLeft,B);
	if(r==false)	
		r=hastree(A->m_pRight,B);
	}
	return r;
}
bool haschild(BinaryTreeNode *A,BinaryTreeNode *B)
{

	if(B->m_nValue !=A->m_nValue)
		return false;	//
	
	if(B==NULL)
			return true;
<span style="font-family: Arial, Helvetica, sans-serif;">                 if(A==NULL)</span>
		return false;

		return haschild(A->m_pLeft,B->m_pLeft) && haschild(A->m_pRight,B->m_pRight);
}



cherry使用MCP协议Streamable HTTP实践 摘要:Streamable HTTP协议是针对传统HTTP+SSE传输方式的改进方案,解决了连接恢复、服务器资源占用和单向通信等问题。该协议基于普通HTTP实现,支持无状态服务器、纯HTTP服务和多轮对话,同时兼容现有基础设施。通过演示展示了服务端和客户端的配置方法,体现了其灵活性和实用性。MCP(多轮对话协议)作为扩展LLM能力的关键技术,代表着未来交互式AI的发展趋势。 阅读详情

相关推荐

Conformal LEC逻辑等价性检查介绍和参考脚本

分为三个产品:Conformal L、Conformal XL、Conformal GXL。L是功能性检查,XL支持复杂数据通路的综合和APR优化,GXL支持定制的stdcell和定制memory的检查。Cadence Conformal Equivalence Checker,就是常说的LEC,可以用来验证RTL、门级网表、甚至spice网表的逻辑等价性。do文件是conformal的脚本文件,可以由综合工具(RTL Compiler/Genus)自己产生(write_do_lec),也可以手写。

NanDigits的博客 7250

树的子结构和树的子树的区别

另一个树的子树 剑指 Offer 26. 树的子结构 以上题来源:力扣 这两道题的区别: 首先我们要区分这两者的区别,那么就好理解了 树的子结构: B是A的子结构, 即 A中有出现和B相同的结构和节点值。(约定空树不是任意一个树的子结构) 例如: 给定的树 A: 3 / \ 4 5 / 1 2 给定的树 B: 4 / 1 返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。 另一个树的子树: 示例 1: 给定的树 s: 3 / \ 4 5 / 1 2 给定的树 t

m0_48810566的博客 493

知识图谱的数据挖掘与分析

1. 背景介绍 1.1 数据挖掘的崛起 随着互联网的普及和大数据技术的发展,数据挖掘已经成为了计算机科学领域的热门研究方向。数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,通过计算机科学、统计学、信息论等多学科交叉的方法,挖掘出有用信息和知识的过程。数据挖掘的目标是从数据中发现有

AI天才研究院 1600

树的子结构&&二叉树的镜像

树的子结构 解题思路 1.判断root1和root2的根结点是否相同,相同比较root1和root2的左右子树是否相同 2.root1与root2的根结点不匹配,递归判断root1的左右子树判断 代码 /** * 剑指offer一刷:树的子结构 * * @author User * @create 2019-05-18-19:54 */ public class jzo17 { ...

weixin_41676282的博客 1508

【ROS2】Arduino系列之机器人底盘实现

介绍ros中提供的一个已经封装了的模块: ros_arduino_bridge,该模块由下位机驱动和上位机控制两部分组成,通过该模块可以更为快捷、方便的实现自己的机器人平台

guilin 1484

【系统分析师】2026年上半年真题:案例分析-答案及详解(回忆版)

案例一聚焦因果分析法(鱼骨图)的应用,分析企业订单履约问题。问题1阐述因果分析法定义及常见方法(鱼骨图、5个为什么等);问题2将8个原因归类为人员、方法、合同等5类;问题3筛选适合鱼骨图的场景(如系统响应慢、服务器故障等),强调其适用于复杂根因分析。 案例二对比嵌入式系统中Linux与RTOS的差异(实时性、资源占用等),结合智能监控终端需求推荐Linux+四核ARM方案(高算力、性价比),并列选Linux的5大优势(生态成熟、多任务支持等)。 案例三设计互联网医院系统用例图(患者、医生等参与

数据知道的博客 1353

[剑指Offer]树的子结构(Java)

剑指Offer题目 树的子结构 -- newcoder 剑指Offer 17 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 思路 * 思路1: * 1、层次遍历root1, 找到与root2相同的节点(此步骤非递归) * 2、找到后判断以此节点为根节点,是否能在root1中找到与root2相同的树结构(此处判断用递归查找) * ...

聚沙成塔 326

计算机等级考试(二级WPS)---真题14套

目录 真题14一、选择题二、WPS文字三、WPS表格四、WPS演示21.打开考生文件夹下的素材文档 “WPS.docx”(.docx 为文件扩展名),后续操作均基于此文件,否则不得分。小周正在整理一份关于极光的文档,请按要求帮助她完成文档的排版工作。1.将全文中的手动换行符全部替换为中文句号并回车,删除文中的空行和空格。2.将正文第 2 段(“在我國的古書…… 極光”)中的繁体字转换成简体字,并为其设置 “正文” 样式。3.对文档样式进行如下设置:4.为 “1.3 极光的形态” 一节中列出的五种极光形态特征

2401_82750246的博客 1174

树的子结构(中等难度,好题目)

目录题目概述(中等难度)思路与代码思路展现代码示例总结 题目概述(中等难度) 题目链接: 点我进入leetcode 思路与代码 思路展现 这道题目首先跟之前的一道题目非常的类似,但其实有所不同,在此先贴上链接: 另一课树的子树 先来说一点:树的子结构跟子树是完全两个不同的概念,准确来说树的子结构更像是包含了子树的概念,例如对与[1,2,3,4,5]这棵树而言,[2,4,5]是他的子树,但是2不能作为它的子树,但是可以作为子结构. 先来看代码,我们挨个进行解析 代码示例 class Solution {

想要成为大佬的彪彪 654

【IxNetwork】史上最全IxNetwork测试仪使用精讲(一),图文教程超赞超详细!!!

IXIA使用的是Server-client模式,Server端在测试仪表的主机上,在开机后会随着主机内的操作系统的启动而自动启动,一般情况下不需要人为的手工启动。因此在通常不需要为主机配置专用的显示器和键盘。client端包括两个测试软件: Ixia Explorer和ScriptMate。这两个软件一般安装在测试用计算机上,在仪表自带的主机中也有这两个软件。根据测试项目的不同来选择使用不同的软件。Ixia Explorer主要提供数据流的测试,针对设备的功能进行测试;

风云说通信 2056

开源模型应用落地-qwen模型小试-Qwen3-8B-快速体验(一)

阿里云推出国内首个集成“快思考”与“慢思考”能力的 Qwen3-8B 大语言模型,以80亿参数和 128K 上下文支持,重塑AI应用边界并助力开发者高效部署

以微薄之力,予他人些许温暖. 2万+

剑指offer-树的子结构

11.树的子结构 题目内容: 代码及思路: 如果有更好的写法,非常愿意和大家一起交流 #include<iostream> using namespace std; struct TreeNode { int val; TreeNode* left; TreeNode* right; }; class solution { public: void build...

larklili的博客 439

ABAP Cloud 开发教程的文章目录

本教程涵盖 ABAP 云端 Client 处理、多租户架构、ABAP Cloud开发、动态编程优化、SQL语法改进等技术主题。最新版本1.0.0(更新至2025-12-12),包含197篇文章,重点文章包括《ABAP Client Handling与隔离机制》《ABAP Platform 2021泛型编程》《SAP BTP ABAP多租户应用开发》等,为开发者提供从基础到进阶的实战指南。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1805

关于剑指Offer 树的子结构的讨论

第二次看到这个题还是不会....参考了这道题牛客网排名第一的答案,在理解的过程中,我认为这个答案有问题,如果是我理解错了,欢迎讨论指正。 关于树的子结构的定义,网上也没有很明确的说法,个人理解就是,只要小树是大树结构中的一部分就行。(子结构与子树一定要区分开来,最后会介绍两者区别。) 首先,根据剑指offer书上的测试用例,测试了牛客排名第一的答案左边为大树,右边为小树,显然结果是true。 ...

qinian_ztc的博客 4447

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

周三第三题   树的子结构

AcWing打卡活动 《剑指Offer》打卡活动 周三第三题树的子结构 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) {...

一步一阶梯 226

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

剑指Offer(Python多种思路实现):树的子结构

剑指Offer(Python多种思路实现):树的子结构 面试26题: 题目:树的子结构 题:输入两棵二叉树A和B,判断B是不是A的子结构。 解题思路一:递归,注意空指针的情况。 class Solution: def HasSubtree(self, pRoot1, pRoot2): # write code here res=False ...

weixin_44151089的博客 1181

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

剑指 Offer 26. 树的子结构

剑指 Offer 26. 树的子结构 难度:中等 题目描述 解题思路 也说不上来思路,反正就是递归,对于A的每个节点都判断能不能形成子结构B 判断的时候递归终止条件是B是不是等于空,如果等于空说明全部匹配完了,如果B还不为空但是A已经空了,就说明没匹配上 /* * 剑指 Offer 26. 树的子结构 * 2020/8/6 * 中等 */ public boolean isSubStructure(TreeNode A, TreeNode B) {

hh155715的博客 159

树的子结构&树的子树

前者是剑指offer上的题目,后者属于力扣。主要差别就在于对于以下例子,前者返回True,后者返回False。 3 4 / \ / \ 4 5 ...

qq_34597865的博客 366

LeetCode 572. Subtree of Another Tree 树的子结构

1.题目 给定两个非空的二叉树s和t,检查树t是否具有与s完全相同的结构。 s的子树是一个树,由s中的节点和所有节点的后代组成。 树也可以被视为自己的子树。 实例 s 3 / \ 4 5 / \ 1 2 t 4 / \ 1 2 Returntrue s 3 / \ 4 5 / \ 1 ...

拾遗 291

NO17、树的子结构(挺好的题,值得再看一遍)

17、树的子结构 值得再看一遍 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 示例1 输入 {8,8,#,9,#,2,#,5},{8,9,#,2} 返回值 true 1、解析见力扣-14 树 - medium - 面试题26,讲得很好 bool HasSubtreeCore(TreeNode* pRoot1, TreeNode* pRoot2){ if(pRoot2==nullptr) return true; i

博客 174

剑指 Offer(第2版)面试题 26:树的子结构

剑指 Offer(第2版)面试题 26:树的子结构

ProgramNovice的博客 856
上一篇: 合并两个排序的链表
下一篇: 二叉树的镜像
Fivesplus
博客等级 码龄12年 1粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值