news 2026/5/23 18:10:34

算法---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/5/23 18:10:22

力扣234.回文链表-反转后半链表

问题描述 给定一个单链表的头节点 head&#xff0c;判断该链表是否为回文链表。如果是&#xff0c;返回 true&#xff1b;否则&#xff0c;返回 false。 示例 &#xff1a; 输入: head [1,2,2,1] 输出: true输入: head [1,2] 输出: false 进阶&#xff1a; 你能否用 O(n)…

作者头像 李华
网站建设 2026/5/22 9:52:17

专用自动化测试系统赋能飞机系统高效验证与保障

航空工业对安全性、可靠性的要求近乎苛刻&#xff0c;飞机上复杂的综合任务处理系统&#xff08;如航电、飞控、机电管理等&#xff09;的集成验证、性能评估和网络分析&#xff0c;是一项庞大而精密的工程挑战。传统的测试方法往往效率低下、覆盖面有限且易出错。为此&#xf…

作者头像 李华
网站建设 2026/5/22 21:01:33

深入理解C++多态:从概念到原理

深入理解C多态&#xff1a;从概念到原理 一、什么是多态&#xff1f; 多态&#xff08;Polymorphism&#xff09;&#xff0c;顾名思义&#xff0c;就是“多种形态”。在C编程中&#xff0c;它意味着使用同一个接口或函数名&#xff0c;可以执行不同的操作。这大大增强了代码的…

作者头像 李华
网站建设 2026/5/23 18:10:34

HTML 框架:构建网页结构的基础

HTML 框架:构建网页结构的基础 概述 HTML框架(HTML Frames)是HTML文档中用于定义多个子窗口(frame)的容器。它允许在一个HTML文档中嵌入多个独立的HTML页面,每个页面可以在自己的框架中显示。框架的引入是为了解决早期网页设计中布局和内容分离的问题。然而,随着CSS和…

作者头像 李华
网站建设 2026/5/23 18:09:45

2026企业级AI编程工具TOP7:团队协作、安全合规与降本增效的首选

在2025年的AI编程工具市场上&#xff0c;企业级需求正成为竞争焦点。数据显示&#xff0c;全球开发者AI工具使用率已攀升至73%&#xff0c;而企业团队在选择时考虑的核心因素已经从个人效率&#xff0c;转向了团队协作、安全合规与成本控制。01 企业转型&#xff1a;当AI成为团…

作者头像 李华
网站建设 2026/5/16 2:57:43

39、程序性能调优工具全解析

程序性能调优工具全解析 在软件开发过程中,程序性能调优是一个至关重要的环节。本文将详细介绍几种常用的性能调优工具,包括它们的使用方法、适用场景以及优缺点。 1. 使用Valgrind检查指令效率 Valgrind是一款功能强大的工具集,可用于检查内存泄漏和内存损坏问题。这里我…

作者头像 李华