首页 > 其他分享 >剑指 Offer 26. 树的子结构(中等)

剑指 Offer 26. 树的子结构(中等)

时间:2023-08-09 21:11:06浏览次数:44  
标签:26 return Offer 子结构 TreeNode root1 节点 root2

题目:

class Solution {
public:                                                      //本方法运用两层递归,非常巧妙
    bool traversal(TreeNode* root1, TreeNode* root2){        //判断当前两个节点的递归
        if(root2==nullptr) return true;                      //终止条件:如果递归到B节点都为空了,说明B是A的子结构
        else if(root1==nullptr||root1->val!=root2->val) return false;   //如果A节点为空但B的该节点不为空,或者这两个节点值不相等,直接flase
        return traversal(root1->left,root2->left)&&traversal(root1->right, root2->right);  //比较左右子树都满足子结构条件才可返回true
    }  
    bool isSubStructure(TreeNode* A, TreeNode* B) {
        if(A==nullptr||B==nullptr) return false;      //按照题意空树不为任何树的子结构
        return traversal(A, B)||isSubStructure(A->left, B)||isSubStructure(A->right, B);   //B为A子结构的三种情况:1.B的起点为A的根节点 2.B是A左子树中的子结构 3.B是A右子树中的子结构
    }
};

参考网站:(树) 剑指 Offer 26. 树的子结构 ——【Leetcode每日一题】

标签:26,return,Offer,子结构,TreeNode,root1,节点,root2
From: https://www.cnblogs.com/fly-smart/p/17618001.html

相关文章

  • ERROR: JAVA_HOME /root/software/jdk1.8.0_262 does not exist.问题的解决
    jdk出了点儿问题,就打算直接卸载重新安装一下预先下载好jdk的压缩包备用1、在usr目录下新建java目录mkdir/usr/java然后进入到新建的java目录下:cd/usr/java2、将已经下载好的jdk的压缩包上传到java目录下3、解压jdk压缩包tar-zxvfjdk-8u161-linux-x64.tar.gz解......
  • Weblogic WLS Core Components 反序列化命令执行漏洞(CVE-2018-2628)
    Vulhub-Docker-Composefileforvulnerabilityenvironment1、介绍名称:WeblogicWLSCoreComponents反序列化命令执行漏洞(CVE-2018-2628)编号:CVE-2018-2628原理:应用:Weblogic 版本:Weblogic10.3.6.0,Weblogic12.1.3.0,Weblogic12.2.1.2,Weblogic12.2.1.32、测试2.......
  • EB-RV1126-DC201开发板实现USB摄像头抓图
    1126的开发板内核已经把USB的驱动配置好了,但是USB摄像头的驱动还没有配置,所以要在内核打开UVC驱动第一步:修改rv1126_defconfig添加以下内容第二步,回到SDK根目录编译第三步:烧录好固件,使用v4l2-ctl-list-devices查看列表,会显示生成新的节点。第四步:识别到新的节点后,就可以用这......
  • 《剑指Offer》-61-扑克牌中的顺子
    判断是否为连续的数字,需要额外考虑的情况有一个,就是0可以代表任何数字,并且最多出现两次给出的长度为5的数组不一定是顺序 boolisStraight(vector<int>&nums){ sort(nums.begin(),nums.end()); //没有0的情况 if(nums[0]==0){ //只有一个0的情况 ......
  • 剑指 Offer 28. 对称的二叉树(简单)
    题目:classSolution{public:booltraversal(TreeNode*left,TreeNode*right){//递归判断左右两个**镜像**节点if(left==nullptr&&right!=nullptr)returnfalse;elseif(left!=nullptr&&right==nullptr)returnfalse;el......
  • 【JavaScript26】继承
    JS中实现继承,只需要改变函数的原型链即可示例functionCat(name){this.name=name;}Cat.prototype.eat_fish=function(fish){console.log(this.name,"在吃",fish);};functionBosiCat(name){this.name=name;}BosiCat.prototype.dance=functi......
  • 仪器仪表驱动安装及注意事项以Keithley 2600为例
    驱动安装顺序电脑安装对应通信设备驱动电脑安装对应版本VISA驱动检查设备通讯是否正常升级设备固件仪器GPIB设置建议恢复出厂后更改下GPIB地址即可注意驱动安装过程中不要将设备与电脑连接在一起,请断开仪器与电脑连接若使用labview请注意安装顺序与版本,先安装labvie......
  • 26-Maxwell
    官网地址:http://maxwells-daemon.io/Maxwell是由美国Zendesk公司开源,使用Java编写的MySQL变更数据抓取软件。它会实时监控Mysql数据库的数据变更操作(包括insert、update、delete),并将变更数据以JSON的格式发送给Kafka、Kinesi等流数据处理平台。1.Maxwell工作原......
  • 剑指 Offer 32 - III. 从上到下打印二叉树 III(中等)
    题目:解法一:classSolution{public:voidtraversal(TreeNode*cur,vector<vector<int>>&result,intdepth){if(cur==nullptr)return;if(result.size()==depth)result.push_back(vector<int>());result[depth].pu......
  • day26
    一、[GDOUCTF2023]pixelart1.得到一张png,放大后隐约可以看到有flag的形状,同时010查看,在文件源码的末尾发现了一个类似于宽乘高的两个数字,再查看原图片的宽高,发现就是宽高缩小到原来的十二分之一2.写个脚本提取像素,十二为一组点击查看代码fromPILimportImageimg=Imag......