news 2026/9/21 19:43:08

算法---LeetCode 572. 另一棵树的子树

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
算法---LeetCode 572. 另一棵树的子树

1. 题目

原题链接

给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。

二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身的一棵子树。

示例 1:

输入:root = [3,4,5,1,2], subRoot = [4,1,2]
输出:true
示例 2:

输入:root = [3,4,5,1,2,null,null,null,null,0], subRoot = [4,1,2]
输出:false

提示:

root 树上的节点数量范围是 [1, 2000]
subRoot 树上的节点数量范围是 [1, 1000]
-104 <= root.val <= 104
-104 <= subRoot.val <= 104

2. 题解

这题和 算法—LeetCode 2. 两数相加 有点类似,
可以通过 反转两个链表+调用两数相加的代码来实现

或者使用双栈来逆序

写法1:

classSolution{publicbooleanisSubtree(TreeNoderoot,TreeNodesubRoot){if(root==null&&subRoot==null)returntrue;if(root==null||subRoot==null)returnfalse;returnisSame(root,subRoot)||isSubtree(root.left,subRoot)||isSubtree(root.right,subRoot);}publicbooleanisSame(TreeNodep,TreeNodeq){if(p==null&&q==null)returntrue;if(p==null||q==null||p.val!=q.val){returnfalse;}returnisSame(p.left,q.left)&&isSame(p.right,q.right);}}

参考题解

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/21 16:58:30

首创ACE具身研发范式,大晓机器人构建具身智能开放新生态

12月18日&#xff0c;大晓机器人正式发布行业首创的ACE具身研发范式、首个开源且商业应用的开悟世界模型3.0&#xff08;Kairos 3.0&#xff09;、让具身本体拥有自主空间智能的具身超级大脑模组A1&#xff0c;与行业伙伴共同构建全链自主可控、开放共赢的产业级生态体系。据「…

作者头像 李华
网站建设 2026/9/21 4:14:33

41、Linux多核处理器性能优化与调试指南(上)

Linux多核处理器性能优化与调试指南(上) 1. 多核处理器概述 多核CPU如今已广泛应用于多种架构。为简化讨论,主要关注AMD和Intel基于英特尔架构的实现,不过相关问题适用于所有架构。 第一代Intel和AMD的多核CPU是双核的。从功能上看,双核CPU相当于两个单核CPU(如在多处…

作者头像 李华
网站建设 2026/9/21 1:00:13

44、深入探索GDB调试:数据检查、函数调用与模板调试技巧

深入探索GDB调试:数据检查、函数调用与模板调试技巧 在软件开发过程中,调试是一项至关重要的技能。GDB(GNU Debugger)作为一款强大的调试工具,为开发者提供了丰富的功能来检查和操作数据、调用函数以及调试复杂的代码结构。本文将详细介绍GDB的一些核心功能,包括数据检查…

作者头像 李华
网站建设 2026/9/21 13:05:45

WebDriver+Selenium实现浏览器自动化

前言 Selenium是一款可以自动化操作浏览器的开源项目&#xff0c;最初的目的是浏览器功能的自动化测试&#xff0c;但是随着项目的发展&#xff0c;人们根据它的特性也用来做一些更多的有意思的功能而不仅仅是UI的自动化测试工具。就像Selenium官方网站上描述的那样&#xff0…

作者头像 李华