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

2024-01-21 02:58

本文主要是介绍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;if(pRoot1==nullptr) return false;if(pRoot1->val == pRoot2->val)return HasSubtreeCore(pRoot1->left,pRoot2->left) && HasSubtreeCore(pRoot1->right,pRoot2->right);elsereturn false;}bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2){if(pRoot1==nullptr || pRoot2==nullptr) return false;return HasSubtree(pRoot1->left,pRoot2) ||HasSubtree(pRoot1->right,pRoot2) || HasSubtreeCore(pRoot1,pRoot2);}
二刷:
1、树的题目,大多都是递归来做

运行时间:2ms 占用内存:484k

bool HasSubtreeCore(TreeNode* pRoot1, TreeNode* pRoot2){if(pRoot2 == nullptr) return true;//p2为空 ,那么P1为什么都是相等的了if(pRoot1 == nullptr ) return false;//如果p2不为空,但是p1为空,那肯定是不对的if(pRoot1->val == pRoot2->val)//当前一样,再判断左右子树,这里必须是 与 的并列关系才行return HasSubtreeCore(pRoot1->left,pRoot2->left) && HasSubtreeCore(pRoot1->right,pRoot2->right);else{return false;}}bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2){if(pRoot1 == nullptr || pRoot2 == nullptr) return false;return HasSubtree(pRoot1->left, pRoot2) ||//有可能是我的左子树HasSubtree(pRoot1->right, pRoot2) || //或则是右子树HasSubtreeCore(pRoot1, pRoot2);//或者是当前节点就开始比较,注意这里是 或 的关系}

美女帅哥们如果觉得写的还行,有点用的话麻烦点个赞或者留个言支持一下阿秀~
如果觉得狗屁不通,直接留言开喷就完事了。

需要该笔记PDF版本的去个人公众号【拓跋阿秀】下回复“阿秀剑指offer笔记”即可。

这篇关于NO17、树的子结构(挺好的题,值得再看一遍)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/628155

相关文章

从希腊神话到好莱坞大片,人工智能的七大历史时期值得铭记

本文选自historyextra,机器之心编译出品,参与成员:Angulia、小樱、柒柒、孟婷 你可能听过「技术奇点」,即本世纪某个阶段将出现超级智能,那时,技术将会以人类难以想象的速度飞速发展。同样,黑洞也是一个奇点,在其上任何物理定律都不适用;因此,技术奇点也是超越未来理解范围的一点。 然而,在我们到达那个奇点之前(假设我们能到达),还存在另一个极大的不连续问题,我将它称之

Oracle中实现在原来自段值得基础上追加字符串

update person t set t.name = t.name || 'and 李思思' where t.id = '2';

除猫毛应该用哪款宠物空气净化器?希喂、安德迈哪款更值得推荐

自从我的朋友也养了猫之后,我和她能讨论的话题就更多了,每天都在分享自家的猫咪今天干了什么可爱的事,一起探讨应该怎么让猫咪胖起来,每天撸都撸不够,好想时时刻刻和猫咪待在一起。 但她说到,本来这种生活挺好的,但是自从养了猫之后,家里的各个角落都开始有猫咪的毛发,每天都得清理,而且还有这个排便时的臭味,家里简直就是无法忍受,导致现在家里的氛围就更差了,她婆婆每天都在担心养了猫之后对家里人造成健

JD 1520:树的子结构

OJ题目:click here~~ 剑指offer 面试题18 AC_CODE const int maxn = 1008 ;const int maxm = 1008 ;int m , n ;struct Node{int x ;int l ;int r ;Node():l(-1),r(-1){}}A[maxn] , B[maxm];vector<int> g ;void F

推荐好文,值得一读

红色标题的都是实打实的实战经验没有公式,值得仔细读一读 朱小强写的两篇分享的方法论文章,值得好好揣摩,看了之后感觉更通透了,知道了背后的方法论 https://mp.weixin.qq.com/s/S-8n1QSTP7zJBTYUnLPC7w https://zhuanlan.zhihu.com/p/54822778 CTR预估模型发展过程与关系图谱(不同模型的优缺点)  https:/

Flux持续火爆,这些LoRA、ControlNet、工作流你值得拥有

大家好,我是每天分享AI应用的萤火君! Flux自发布以来,受到了广大AI绘画爱好者的一致好评,远远的将SD3甩在了脑后,其出图质量媲美Midjourney。而且Flux迭代迅速,接连发布了Flux.1的开发模型和个人模型,其Lora模型、ControlNet模型也迅速推出,社区创作热情高涨。 为了让大家对Flux有一个全面的认识,本文将介绍下Flux基础模型、LoRA模型,以及Control

Oracle OCP认证值得考吗? 需要门槛吗?

随着数据量的爆炸性增长和企业对数据依赖性的提升,对数据库专业人士的需求也在不断上升。OCP认证,作为Oracle公司提供的权威认证之一,长期以来被视为数据库专业人士技能和知识水平的重要标志。 但随着技术的发展和认证种类的增多,疑问也在不断出现:在当前的市场环境下,OCP认证还值得考吗?考取这一认证又需要满足哪些条件? 今天就来聊聊有关OCP的这些问题,让你不再困惑。   01 还值得考吗?

Claude推出Enterprise企业计划!有这三点值得B端产品借鉴!

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,专注于分享AI全维度知识,包括但不限于AI科普,AI工具测评,AI效率提升,AI行业洞察。关注我,AI之路不迷路,2024我们一起变强。 企业(B端)客户对于AI公司来说一直是兵家必争之地,不管是国内AI还是国外AI,比如百度文心、阿里通义、O

Linux学习笔记5 值得一读,Linux(ubuntu)软件管理,搜索下载安装卸载全部搞定!(上)

本文记录Ubuntu操作系统的软件包管理。 一、背景 整个Linux系统就是大大小小的软件包构成的,在linux系统中,软件的管理非常重要,与其他操作系统不同,linux的软件包管理比较复杂,有时还需要处理软件包之间的冲突。本文将对软件管理的基本概念进行介绍,并介绍一些ubuntu下管理软件包的工具。 二、概念 软件管理中最重要的几个概念:软件包,软件仓储以及软件包之间的相互依赖。 软件

2024年开放式耳机哪个品牌好?这5款开放式耳机公认值得入手

如果要我在2024年推荐一款开放式耳机的话,那我大概是做不到了。因为我并不知道每个人对开放式耳机的具体需求是什么。 的确开放式耳机在日常生活中,能够带来很多便利,这几年来,我亲身测评体验了数十款开放式耳机,好耳机还是要自己亲身体验才知道,体验的耳机中有不少大牌耳机,品牌不代表一定好,其中没少踩雷,所以今天写下这篇文章,百元到千元耳机进行评测,希望帮助到大家在众多选择中,选出最心仪的耳机。