/**
* 剑指 Offer 26. 树的子结构
* @author wsq
* @date 2020/09/10
输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)
B是A的子结构, 即 A中有出现和B相同的结构和节点值。
例如:
给定的树 A:
3
/ \
4 5
/ \
1 2
给定的树 B:
4
/
1
返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。
示例 1:
输入:A = [1,2,3], B = [3,1]
输出:false
示例 2:
输入:A = [3,4,5,1,2], B = [4,1]
输出:true
限制:
0 <= 节点个数 <= 10000
链接:https://leetcode-cn.com/problems/shu-de-zi-jie-gou-lcof
*/
package notsubmit;
public class TreeSubStructure {
/**
* 1.采用先序遍历A的每一个节点
* 2.检查该节点对应的子结构是否包含B
* @param A
* @param B
* @return
*/
public boolean isSubStructure(TreeNode A, TreeNode B) {
if(A == null || B == null){
return false;
}
return check(A, B) || isSubStructure(A.left, B) || isSubStructure(A.right, B);
}
public boolean check(TreeNode nodeA, TreeNode nodeB){
if(nodeB == null){
return true;
}
if(nodeA == null || nodeA.val != nodeB.val){
return false;
}
return check(nodeA.left, nodeB.left) && check(nodeA.right, nodeB.right);
}
}
相关推荐
树莓派4B+Ubuntu22.04+思岚RPLIDAR C1激光雷达应用
树莓派+Ubuntu22.04+思岚RPLIDAR C1激光雷达简单应用
java树形菜单结构--获取当前树下的子树
serviceImpl: List<Power> menuTree = this.buildMenuTree(rootMenu,“0”);//去找该角色下的菜单下的子菜单,没有就是空 工具类: /** * 递归查找子菜单 * * 数据表结构(0代表根节点) * Id FatherId * 1 0 * 2 1 .
LT码与Raptor码的性能仿真
从数据分析看来,在数据块大小较小时(100 - 200 左右 ),LT 码和 Raptor 码的平均冗余符号数量差距相对较小,但 LT 码的冗余符号数量始终高于 Raptor 码。现在采用MATLAB进行仿真,直观展示不同数据块大小下,两种解码方式的解码时间差异.如图4.1所示,LT解码(绿色圆点折线)LT 解码方式的解码时间随数据块大小的变化情况。从实际应用的角度来看,LT码由于其简单的编码机制,适用于资源受限或对编码效率要求较高的场景,但其较高的解码复杂度限制了其在一些实时性要求较高的应用中的使用。
Java树形结构筛选
Java树形筛选算法 提示:使用递归方法,个人在项目中有使用到,有问题希望指出: 使用场景:当我们得到一个树形结构数据时,可能需要在树形结构上对数据进行筛选,例如通过文件夹(文件)名称模糊查询相关的文件夹并展现其父级。 缺点:需要查询出完整的树形结构才能用作筛选,在数据量非常庞大的时候并不适用。 一、话不多说直接上代码块 代码如下: import com.alibaba.fastjson.JSON; import lombok.Data; import java.util.ArrayList; import
RS-485调试踩坑实录:MAX13487数据回环问题排查与修复(附电路图)
本文深入解析了RS-485通信中MAX13487芯片的数据回环问题,提供了详细的排查过程和解决方案。通过分析芯片特性和自动换向机制,揭示了RO引脚配置不当是导致问题的关键原因,并给出硬件(添加上拉电阻)和软件(调整MCU配置)两种修复方案,附有优化设计建议和实际调试技巧。
从Podfile到分享成功:ShareSDK小红书模块集成全流程实战(附视频分享代码)
本文详细介绍了iOS应用如何通过ShareSDK集成小红书分享功能的全流程,包括环境配置、SDK初始化、图片和视频分享实现,以及常见问题排查和性能优化策略。特别针对视频分享这一高频需求场景,提供了完整的代码示例和实战技巧,帮助开发者快速实现社交分享功能。
java如何选中节点_树结构节点部分选中的Java实现
/** * 设置节点及其父节点的选中状态 * @param item 父节点 * @param checked 当前节点的选中状态 * @param grayed 当前节点的半选状态 */ static void checkPath(TreeItem item, boolean checked, boolean grayed) { ...
RPA与旅游与酒店行业自动化实战案例
1. 背景介绍 1.1 旅游与酒店行业的挑战 旅游与酒店行业是一个高度竞争的市场,企业需要不断提高服务质量、降低成本、提高效率以保持竞争力。在这个过程中,企业面临着诸多挑战,如客户需求多样化、市场变化快速、人力资源成本高昂等。为了应对这些挑战,企业需要寻求新的技术手段来提高运营效率。
树的子结构
树的子树和子结构的区别:1)子树的意思就是只要包含一个结点,就得包含这个结点下所有的结点 2)子结构的意思是包含了一个结点,可以只取梭子树或者又子树,或者不去 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(in...
【数据集】1980-2020年(5年)土地利用分类数据-中国科学院
简介1980-2020年每五年土地利用数据-中国科学院
【深度学习新浪潮】Harness Engineering 入门实战必看|6个从零可跑开源项目,新手快速上手垂域AI工程落地
很多同学入门 AI Agent、做大模型垂域落地时,都会卡在同一个痛点:只会调用模型、写简单Prompt,却不懂如何做约束管控、流程护栏、任务编排、多智能体边界隔离。而这正是的核心价值。不同于纯理论概念,Harness Engineering 更偏向工程实战,新手不用啃复杂论文,从开源项目动手实操是最高效的学习方式。本文从零基础易上手、可本地一键部署、支持二次改造做实战项目。
剑指 Offer(第2版)面试题 26:树的子结构
剑指 Offer(第2版)面试题 26:树的子结构
[QMT量化交易小白入门]-七十六、从tick数据中获取高频交易的量价背离信号
本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。
剑指Offer26:树的子结构java实现
剑指 Offer 26. 树的子结构 https://leetcode-cn.com/problems/shu-de-zi-jie-gou-lcof/ 输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如: 给定的树 A: 3 / \ 4 5 / \ 1 2 给定的树 B: 4 / 1 返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。...
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
剑指Offer26.树的子结构 c++
剑指Offer26.树的子结构 写在前面,小白从零刷题,在解答会写出思路,正确答案,以及所有使用到的语法和知识点 1.递归和hashmap 1 递归和hashmap class Solution { public: bool isSubStructure(TreeNode* A, TreeNode* B) { bool res = false; //当TreeA和TreeB都不为零的时候,才进行比较。否则直接返回false if (A!=NULL
精雕软件(JDpaint) 5.5 绿色版
精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版
学习笔记 | Python版本 剑指 Offer 26. 树的子结构
剑指 Offer 26. 树的子结构 输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如: 给定的树 A: 3 / \ 4 5 / \ 1 2 给定的树 B: 4 / 1 返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。 示例 1: 输入:A = [1,2,3], B = [3,1] 输出:false 示例 2: 输入:A = [
SAP B1中文培訓教材_SDK
公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说
LeetCode 剑指Offer 26 树的子结构
LeetCode 剑指Offer 26 树的子结构题目解题:深度优先搜索 题目 解题:深度优先搜索 相似题目: 题目 解题 面试题 04.10. 检查子树 面试题 04.10. 检查子树解题 剑指 Offer 26. 树的子结构 剑指 Offer 26. 树的子结构解题 本题与 面试题 04.10 的区别在于: 面试题 04.10 约定空树是任意一个树的子树,而本题不是; 面试题 04.10 规定 B 必须和 A 的某棵子树 完全相同 时返回 true;而本题是包含关系,A 中某
【leetcode】【medium】剑指 Offer 26. 树的子结构
剑指 Offer 26. 树的子结构 输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如: 给定的树 A: 3 / \ 4 5 / \ 1 2 给定的树 B: 4 / 1 返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。 示例 1: 输入:A = [1,2,3], B = [3,1] 输出:false 示例 2: 输入:...
leetcode 剑指 Offer 26. 树的子结构
剑指 Offer 26. 树的子结构 输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如: 给定的树 A: 3 / \ 4 5 / \ 1 2 给定的树 B: 4 / 1 返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。 示例 1: 输入:A = [1,2,3], B = [3,1] 输出:false 示例 2: 输入:A = [3,4
【剑指Offer】个人学习笔记_26_树的子结构
目录题目:[剑指 Offer 26. 树的子结构](https://leetcode-cn.com/problems/shu-de-zi-jie-gou-lcof/)题目分析初始解答:学习他人:方法一:方法二:方法三:方法四:方法五总结 刷题日期: 19:4005 星期四2021年4月1日 个人刷题记录,代码收集,来源皆为leetcode 经过多方讨论和请教,现在打算往Java方向发力 主要答题语言为Java 题目: 剑指 Offer 26. 树的子结构 难度中等243 输入两棵二叉树A和B,判断B是不
《剑指offer》【剑指Offer 26.树的子结构】
🏆个人主页:企鹅不叫的博客 🌈专栏 C语言初阶和进阶 C项目 Leetcode刷题 初阶数据结构与算法 C++初阶和进阶 《深入理解计算机操作系统》 《高质量C/C++编程》 ⭐️ 博主码云gitee链接:代码仓库地址 ⚡若有帮助可以【关注+点赞+收藏】,大家一起进步! 文章目录💎一、题目🏆1.题目描述🏆2.原题链接💎二、解题报告🏆1.思路分析🏆2.代码详解 💎一、题目 🏆1.题目描述 🏆2.原题链接 剑指Offer 26.树的子结构 💎二、解题报告 🏆1.思路分析 🔑思路: .
3707



被折叠的 条评论
为什么被折叠?



