剑指offer Leetcode 26.树的子结构_ziggy7的博客-程序员宝宝

技术标签: 剑指offer  

image-20201204180552989

解法:迭代

思想:

​ 遍历A的每个节点,只要以任一节点为根的树”包含“B,就成功

注意:

​ ●isSubStructure中,题目中说了空树不是任一树的子结构,要注意,要与面试官沟通空树的情况

​ ●iscontain中,A需要包含B,所以B有的A一定要有,B无的A无所谓

代码:

class Solution {
    
public:
    bool isSubStructure(TreeNode* A, TreeNode* B) {
    
        //题目中说了空树不是任一树的子结构
        if(B == NULL || A == NULL)
            return false;
        //A以当前节点包含B就返回true,如果不包含,说明当前节点没用,用A的left和right来判断
        //我一开始写成三个iscontain了,感觉还是有点混乱,要记住
        return iscontain(A, B) || isSubStructure(A->left, B) || isSubStructure(A->right, B);
    }
    //包含:以A为根的数是否包含B(必须从A开始)
    bool iscontain(TreeNode* A, TreeNode* B){
    
        //B为空,A无所谓,返回true
        if(B == NULL)
            return true;
        //此时B不为空,A为空或者值不相等,返回false
        if(A == NULL || A->val != B->val)
            return false;
        //当前节点成功,两个子节点都成功的话,就返回true
        return iscontain(A->left, B->left) && iscontain(A->right, B->right);
    }
};
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36459662/article/details/113854102

智能推荐

以前写的C语言的小程序(七)(供学习C语言初期的练习和参考)统计一篇文章中的字符个数 验证哥德巴赫猜想 杨辉三角 以数组的形式输入10个数按从小到大排列 以数组的形式输入10个数求最大值_新手程序员攀爬之路的博客-程序员宝宝

供初学者练习和参考使用,代码直接可以运行,这里我就不贴出结果截图了,可以自己运行看看。1.统计一篇文章中的字符个数#include <stdio.h>int main(){ int i,j,a,b,c,d,e; a=b=c=d=e=0; char text[3][80]; for(i=0;i<3;i++) { printf("请输入第%d行字符串:\n",i...

你还不会用python进行数据分析吗_LKID体的博客-程序员宝宝

你还不会用python进行数据分析吗1、案例背景用户价值细分是了解用户价值度的重要途径,而销售型公司中对于订单交易尤为关注,因此基于订单交易的价值度模型将更适合运营需求。针对交易数据分析的常用模型是RFM模型,该模型不仅简单、容易理解,且业务落地能力非常强。因此,本节将基于该模型做数据分析和应用。在RFM的结果中,业务部门希望不仅能对用户做分组,还希望能将每个组的用户特征概括和总结出来,这样便于后续精细化运营不同的客户群体,且根据不同群体做定制化或差异性的营销和关怀。基于业务部门的用户分群需求,我们计

Codevs_P3304 水果姐逛水果街Ⅰ(线段树+区间DP)_北屿小智障的博客-程序员宝宝

时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description 水果姐今天心情不错,来到了水果街。水果街有n家水果店,呈直线结构,编号为1~n,每家店能买水果也能卖水果,并且同一家店卖与买的价格一样。学过oi的水果姐迅速发现了一个赚钱的方法:在某家水果店买一个水果,再到另外一家店卖出去,赚差价。就在水果姐窃喜的时候,cgh突然出现,他

转:PV、UV、访问次数、跳出率、转化率、平均访问时长_爱萨萨的博客-程序员宝宝_pv和uv和转化率

1. 什么是展现量、点击量、点击率在百度推广后台可以看到消费、平均价格、点击、展现、点击率、千次展现费用等数据,这些数据是你全面评估推广效果、深入开展推广优化的基础。在网民搜索查询时,如果您账户内符合网民搜索需求的关键词被触发,该关键词所对应的创意将出现在搜索结果页,称之为关键词和创意的一次展现。一段时间内您获得的展现次数称之为 “展现量”。展现量体现了你的关键词质量度和...

java jtree 监听_求教一个JTree监听的有关问题_weixin_39631017的博客-程序员宝宝

Java code//中忙你写了个,看看吧import java.awt.Color;import javax.swing.*;import javax.swing.event.TreeSelectionEvent;import javax.swing.event.TreeSelectionListener;import javax.swing.tree.DefaultMutableTreeNod...

初探 Ext JS 6 (sencha touch/ext升级版)_weixin_33725515的博客-程序员宝宝

Sencha Touch 现在已全面升级至Ext Js 6,那么我们如何使用他们呢?首先去官网下载最新的sdk和帮助文档sdk下载地址:https://www.sencha.com/products/extjs/evaluate/如图,这个是试用版下载地址,试用版和正版的区别大概就是试用版有试用标记水印吧,大概是吧。官方api下载地址:http://docs.sencha.co...

随便推点

橙色优学:成为“码农”简单吗?学习方式需要划重点_山斋月的博客-程序员宝宝

近年来互联网行业的高速发展吸引了不少人加入学习IT编程的大军,不过真正成为“码农”可不是这么简单。在这样的氛围下,编程被普遍认为是一项入行门槛很高的技术,然而实际上只要我们在初期掌握正确的学习方法,就会发现学编程并没有想象中那么难。接下来,橙色优学将介绍新手学编程的几个实用方法,希望对同学们能够有所帮助。兴趣是学习的第一动力首先是新手学习的第一大坑——看不懂教材。很多想学编程的同学都是从看教材...

Openpose 报错记录_持~月的博客-程序员宝宝_no such file or directory: './experiments/vgg19_36

报错问题:1.FileNotFoundError: [Errno 2] No such file or directory: './experiments/vgg19_368x368_sgd.yaml'2.AssertionError: Torch not compiled with CUDA enabled3.torch的安装

《UNIX环境高级编程》笔记--chown,fchown和lchown函数_TODD911的博客-程序员宝宝

这三个函数都是用来更改文件的用户ID和组ID的,函数的定义如下:#include int chown(const char *pathname, uid_t owner, gid_t group);int fchown(int filedes, uid_t owner, gid_t group);int lchown(const char *pathname, uid_t owner,

red hat linux 5.8下载地址,Red Hat Enterprise Linux (RHEL) 5.8 DVD ISO下载_weixin_39997695的博客-程序员宝宝

Red Hat Enterprise Linux (RHEL) 5.8 DVD ISO 下载一、官网下载---------------------------------------------------------------------------i386:ed2k://|file|%5B%E7%BA%A2%E5%B8%BD%E4%BC%81%E4%B8%9A.Linux%5D.TLF-SO...

PyTorch中permute的用法_York1996的博客-程序员宝宝_pytorch permute

permute(dims)将tensor的维度换位。参数:参数是一系列的整数,代表原来张量的维度。比如三维就有0,1,2这些dimension。例:import torchimport numpy as npa=np.array([[[1,2,3],[4,5,6]]])unpermuted=torch.tensor(a)print(unpermuted.siz...

2021年安全员-A证最新解析及安全员-A证模拟考试_zd0618的博客-程序员宝宝

题库来源:安全生产模拟考试一点通公众号小程序安全生产模拟考试一点通:安全员-A证最新解析参考答案及安全员-A证考试试题解析是安全生产模拟考试一点通题库老师及安全员-A证操作证已考过的学员汇总,相对有效帮助安全员-A证模拟考试学员顺利通过考试。1、【多选题】起重吊装作业中使用的吊钩、吊环,其表面要光滑,不能有( )等缺陷。(ABC)A、剥裂B、刻痕C、锐角D、磨损2、【多选题】自升式塔式起重机每次降节前,应检查( )的连接等,确认完好后方可进行作业。(BC)...

推荐文章

热门文章

相关标签