剑指offer 面试题26 树的子结构

PVE(Proxmox VE)添加VMware Esxi并迁移虚拟机 跨平台迁移虚拟机:从VMware虚拟化平台迁移虚拟机到PVE平台。 阅读详情

题目描述
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)

与第7题类似,需要使用递归的思想。这里要注意的是“子结构”,B可以是A中间的某一块结构,而不一定B是A的子树。

class Solution {
public:
    bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2)
    {   
        if(pRoot1==NULL||pRoot2==NULL) {
            return false;
        }
        if(pRoot1->val==pRoot2->val) {
            if(isEuqal(pRoot1,pRoot2)) {
                return true;
            }
        } 
        if(HasSubtree(pRoot1->left,pRoot2)) {
            return true;
        }
        if(HasSubtree(pRoot1->right,pRoot2)) {
            return true;
        }
        
        return false;
    }

    bool isEuqal(TreeNode* p1, TreeNode* p2) {
        if(p2==NULL) {
            return true;
        } else if(p1==NULL) {
            return false;
        }
        if(p1->val!=p2->val) {
            return false;
        }
        if(!isEuqal(p1->right,p2->right)||!isEuqal(p1->left,p2->left)) {
            return false;
        }
        return true;
    }
};
使用Qt Creator调用eBUS SDK 在新界面,勾选左下角“ Show unreachable Network Devices",可以看到没有成功连接的网络相机,原因是IP地址配置错误。每个版本的OpenCV的依赖项的名字都不同,我这里是opencv_world490.lib与opencv_world490d.lib。函数,可以看到在这里是图像缓存区,能够对捕获的图像进行一些操作。在Visual Studio打开项目属性,在VC++目录这里,把Opencv的路径添加进去。这时,会自动跳转到mainwindow.cpp,生成该按钮对应的槽函数。 阅读详情

相关推荐

高效复用PCB设计:Cadence Sub-Drawing跨项目复制技巧

本文详细介绍了Cadence Allegro中Sub-Drawing功能的应用技巧,帮助PCB工程师高效复用成熟设计模块。通过分步教学,从精准导出到完美导入,并提供了解决坐标错位与DRC冲突的实用避坑指南。掌握这一技巧能显著提升设计效率,实现团队知识的标准化积累与快速复用。

weixin_29172201的博客 391

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

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

ProgramNovice的博客 856

AD服务器搭建

一、角色安装1)打开服务器管理器,添加 角色和功能;2) 点 下一步;3)点 下一步;4)点 下一步;5)点击安装;6-1)将此服务器提升为域控制器;6-2)点下一步;6)输入密码 点 下一步;7)自动生成LIXF,点击下一步;8)确认目录,点下一步;8)确认安装条件,点安装; 8)安装成功,点关闭;...

潇峰的博客 6445

剑指offer 面试题26树的子结构

剑指offer 面试题26树的子结构 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 思路:数还有子树,那肯定是用递归写比较方便了。题目要做的是从A 中找B ,所以需要遍历一遍A树并且寻找A中与B的头节点相等的那个节点,找到这个节点后就遍历A树和B树,看是否相等。第二个方法的递归结束条件分为三种:一:B是空的了,即意味着所有父节点都相等,所以可...

ChildYH的博客 198

CGAL-5.6的安装与编译(Win10+vs2022+CGAL-5.6+Boost1.82.0)

CGAL是Computational Geometry Algorithms Library(计算几何算法库)的缩写,C++的高效算法库。CGAL只是一个头文件库(从5.0版本开始),这意味着CGAL无需编译,只需安装好CGAL的依赖项即可。CGAL5.6。

baidu_34931359的博客 3902

洛谷 P5736 【深基7.例2】质数筛

题目描述 输入 n(n\le100)n(n≤100) 个不大于 100000 的整数。要求全部储存在数组中,去除掉不是质数的数字,依次输出剩余的质数。 输入格式 无 输出格式 无 输入输出样例 输入 #1 复制 5 3 4 5 6 7 输出 #1 复制 3 5 7 板子题,使用一下线性筛 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using n

qq_37978559的博客 1117

【剑指offer】面试题26 树的子结构

题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 解题分析 判断是否为子结构根据定义我们可以分成两部分: 1、第一步,在树A中寻找到和树B的根节点一样的节点R 2、第二步,判断在树A中以R为根节点的子树是不是包含树B一样的结构 我们采用递归的策略去查找根节点和其相同的子结构,具体的实现步骤结合下面的代码体会一下。 主要代码c++ /* struc...

爱喝舒化奶的博客 378

流体动力学仿真软件:Star-CCM+_(1).Star-CCM+基础及入门

Star-CCM+的用户界面(UI)分为多个部分,包括菜单栏、工具栏、工作区、视图窗口和控制台。菜单栏包含文件、编辑、视图、工具等常用菜单。例如,“File”菜单可以用于打开、保存和退出项目。工具栏提供常用的工具按钮,如新建项目、打开项目、保存项目等。也可以自定义工具栏,添加常用的功能按钮。工作区显示当前项目的结构和各个对象。可以通过拖拽方式组织和管理项目中的各个部分。视图窗口显示几何模型、网格、结果等。可以通过不同的视图模式查看和分析数据。控制台显示软件的运行日志和输出信息。

kkchenjj的博客 1197

《剑指offer—面试题26:树的子结构》

《剑指offer—面试题26:树的子结构》 注明:仅个人学习笔记 此段代码转载自:https://www.nowcoder.com/profile/562667/codeBookDetail?submissionId=1523155 public static boolean HasSubtree(TreeNode root1, TreeNode root2) { boo...

步履不停的橙子 216

【专栏必读】王道考研408计算机组成原理万字笔记使用说明及章节导航

本文是为准备408王道计算机组成原理考试的学生精心整理的万字笔记,涵盖了从计算机系统概述、数据表示和运算到存储系统、指令系统等多个章节的重点内容。本文强调了学习笔记的重要性,并分享了学习建议,如按视频课逻辑记录,建立学科框架。笔记详细记录了每章的关键知识点,包括存储器、CPU、I/O系统的工作原理,还附带了习题和思维导图,旨在帮助考生高效复习。

快乐江湖的博客 9万+

在RStudio中使用GitHub Copilot:代码自动生成,从此告别手敲!

可以通过自定义提示词来引导Copilot生成符合自己需求的代码。再看一个做统计分析的。

Codewar的博客 330

剑指offer面试题26(java版):树的子结构

welcome to my blog 剑指offer面试题26(java版):树的子结构 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 笔记 常规情况: 判断A的某个节点值和root2.val是否相等, 是的话判断当前节点的左节点值和root2.left.val是否相等, 当前节点的右节点值和root2.right.val是否相等. 如此递...

littlehaes的博客 501

【YOLOs-CPP-图像分类部署】04-项目优化(加速部署)

本文详细介绍了将YOLO图像分类C++部署项目从CMake迁移到Visual Studio控制台应用的全过程。针对低配CPU性能瓶颈问题,作者通过替换多线程HPP代码为官方实现,并采用448x448固定输入尺寸优化推理速度。项目配置包含OpenCV和ONNX Runtime环境设置,实现了图像批量处理、分类结果显示及结果日志输出功能。关键步骤包括依赖库配置、DLL部署和代码调试,最终在Windows平台成功实现高效CPU推理。该方案显著提升了低配硬件的兼容性,为图像分类任务提供了稳定的部署解决方案。

深耕CV 353

Leetcode刷题:剑指offer【面试题26 树的子结构】

文章目录思路:递归 【面试题26 树的子结构】 难度: 中等 输入两棵二叉树 A 和 B,判断 B 是不是 A 的子结构。B 是 A 的子结构, 即 A 中有出现和 B 相同的结构和节点值。约定空树不是任意一个树的子结构。 Leetcode题目对应位置: 面试题26:树的子结构 思路:递归 基本思路:B 如果为 A 的子结构,只可能发生在 A 树某个等于 B 树根节点的节点上。所以第一步就是遍历 A 树,找到等于 B 树根节点的节点,然后以此节点为出发向下判断是否和 B 的结构一致。 先序遍历 A 树并寻

学习 & 分享 ~ 453

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

数学建模模型总结

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

剑指Offer22--面试题26. 树的子结构

剑指Offer22--面试题26. 树的子结构 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) public class Solution { public boolean HasSubtree(TreeNode root1,TreeNode root2) { boolean result = false; if(root1!=null&& root2!=null){ if(root1

zhangyunpeng0922的博客 104

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

LeetCode 剑指Offer 26 树的子结构

LeetCode 剑指Offer 26 树的子结构题目解题:深度优先搜索 题目 解题:深度优先搜索 相似题目: 题目 解题 面试题 04.10. 检查子树 面试题 04.10. 检查子树解题 剑指 Offer 26. 树的子结构 剑指 Offer 26. 树的子结构解题 本题与 面试题 04.10 的区别在于: 面试题 04.10 约定空树是任意一个树的子树,而本题不是; 面试题 04.10 规定 B 必须和 A 的某棵子树 完全相同 时返回 true;而本题是包含关系,A 中某

346

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

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

剑指offer 面试题26. 树的子结构 [中等]

面试题26. 树的子结构 https://leetcode-cn.com/problems/shu-de-zi-jie-gou-lcof/submissions/ 注意func()函数中两个if的顺序 class Solution { public: bool isSubStructure(TreeNode* A, TreeNode* B) { if(!A ||...

Vermouth_Su的博客 194

Java详解剑指offer面试题26--树的子结构

Java详解剑指offer面试题26–树的子结构 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 二叉树这种递归的数据结构。想到用递归的方法解决是很自然的。 首先我们要在二树A中找到和树B根结点值一样的结点R,结点R可能有多个,因为树A中的结点值可能不止一个与树B的根结点值相同。对于每个结点R,其子树都有可能是树A的子结构,因此只要还未在树A中找到一个子结构,就要继续遍历树A判断其他R结点。 对于某一个R结点,我们要求根结点R的左子结点、右子结点和树B根结点

快乐李同学的博客 434

剑指offer面试题26:树的子结构

此题中是在给定的树中查找是否存在指定的子树 思路:先检查根节点,如果根节点和子树的根节点相同,则从根节点开始比较,否则继续在树的左子树和右子树中查找指定的子树。 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL...

Ben 312

《剑指offer》刷题——【代码的鲁棒性】面试题26:树的子结构(java实现)

《剑指offer》刷题——【代码的鲁棒性】面试题26:树的子结构(java实现)一、题目描述二、题目分析1. 过程:2. 易出错之处:三、代码实现 一、题目描述 输入两棵二叉树A和B,判断B是不是A的子结构。 二、题目分析 1. 过程: 第一步:在树A中找到和树B的根节点的值一样的节点R 第二步:判断树A中以R为根节点的子树是不是包含和树B一样的结构(左子树、右子树) 2. 易出错之处: ...

HW_870754395的博客 356

剑指offer-面试题26:树的子结构

题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构); 思路分析 树的子结构和树的子树需要区别开,树的子树指的是树的某一部分,例如图B就是图A的一部分为子树。子树的意思是包含了一个结点,就得包含这个结点下的所有节点,一棵大小为n的二叉树有n个子树,就是分别以每个结点为根的子树; 子结构的意思是包含了一个结点,可以只取左子树或者右子树,或者都不取;...

进修的CODER 437

【剑指offer】面试题26. 树的子结构

解题思路 在树A中查找与B树根节点值一样的节点R。如果找到了值相同的节点,则判断树A中以R为根节点的子树是不是和树B具有共同的结构DoseTreeHave() - 判断左右子结构是否相同,也可采用递归方式,递归结束条件分为四种情形 a. B树遍历完了(说明A树子结构和B树子结构相同),return true; b. A树遍历完了(此时A树没有遍历完),说明不同,return false; c. A...

Do Better 228

【剑指offer】面试题26-树的子结构

题目 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 1.思路 最开始用自己的思路,没有做对。我的思路是分别对两个树进行先/中/后序遍历,并将结点的值追加到字符串里,最后判断字符串1是否包含字符串2,包含就是子树,反之则不是。 后来想了想,可能会出现并不是子树,但是先序遍历后其字符串顺序的确是会出现子串关系的情况。还是太菜了。。。 剑指offer的思...

whtli的博客 203

剑指offer面试题26:树的子结构

题目描述:输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 示例 1: 输入:A = [1,2,3], B = [3,1] 输出:false 示例 2: 输入:A = [3,4,5,1,2], B = [4,1] 输出:true 解题思路: 若树 B是树 A的子结构,则子结构的根节点可能为树 A的任意一个节点。因此,判断树 B是否是树 A的子结构,需完成以下两步工作: 1、先序遍历树...

weixin_39035802的博客 606

树的子结构,Java实现,剑指Offer面试题26

主要是考察树的遍历和指针的运用,难度不大 /** * 树的子结构 */ public class Main26 { /** * 入口函数 * 优先检测空指针等特殊情况 * @param root1 * @param root2 * @return */ public boolean HasSubtree(Tree...

aa792978017的博客 201

剑指Offer——面试题26:树的子结构

题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 算法分析 题目不难,主要分为两个步骤: 确定从哪个结点开始寻找子结构 B , 相当于是对树的遍历 从当前结点开始,是否存在子结构 B 这两个步骤分别对应两个函数,都可以用递归实现 程序代码 /* struct TreeNode { int val; struct TreeNode *l...

Suqing_2018的博客 218
上一篇: 剑指offer 面试题7 重建二叉树
下一篇: 剑指offer 面试题5 替换空格
wenkun97
博客等级 码龄10年 15粉丝 139原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值