当前位置: 首页 > news >正文

利用帝国cms网站建设菏泽网站建设公司排名

利用帝国cms网站建设,菏泽网站建设公司排名,微信公众号转入公司网站建设,旅游网站的建设的意义目录 1.题目 代码模板 2.分析 3.代码 4.提交结果 1.题目 https://leetcode.cn/problems/subtree-of-another-tree/description/ 给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true &#xff…

目录

1.题目

代码模板

2.分析

3.代码

4.提交结果


1.题目

https://leetcode.cn/problems/subtree-of-another-tree/description/

给你两棵二叉树 rootsubRoot 。检验 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]
  • -10^4 <= root.val <= 10^4
  • -10^4 <= subRoot.val <= 10^4

代码模板

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/
bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot) 
{
}

2.分析

题目的意思是在整棵二叉树中寻找特定的子树(局部相等)

检查是否包含subroot,即寻找相同的子树,因此可以直接调用L15.【LeetCode笔记】相同的树文章的代码,如下

bool isSameTree(struct TreeNode* p, struct TreeNode* q) 
{if (p==NULL && q==NULL)return true;//若能执行到此,排除了两个都为NULL的情况,剩下的情况:1.其中一个为NULL;2.两个都不为NULLif ((p==NULL)+(q==NULL)==1)return false;//只剩下最后一种情况:p和q都不为NULLif (p->val!=q->val)return false;//执行到此处,说明p->val和q->val相等return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);
}

现在的问题转化为如何设计isSubtree函数使其能合理调用isSameTree函数


由于subRoot肯定不为空树,因此上来先判断root==NULL

    if(root==NULL)return false;

除去了这种情况,剩下root!=NULL,把每个节点视作根去寻找子树,判断子树是否相等

可以判断isSameTree(root,sunRoot)的返回值,再进一步操作

    if (isSameTree(root,subRoot))return true;

如果上方函数的返回值为false,情况有两种:1.完全找不到符合subRoot的子树 2.不是要找的子树,需要进一步查找(root->left和root->right)

注意:只要左右子树有一个符合要求就可以,因此用或(||)连接

return isSubtree(root->left,subRoot) || isSubtree(root->right,subRoot);

递归展开图(只画isSameTree),以下面这个二叉树为例说明

注:CSDN会压缩图片画质,无损bmp图片链接(大小 9.28M)见百度网盘 请输入提取码

3.代码

bool isSameTree(struct TreeNode* p, struct TreeNode* q) 
{if (p==NULL && q==NULL)return true;//若能执行到此,排除了两个都为NULL的情况,剩下的情况:1.其中一个为NULL;2.两个都不为NULLif ((p==NULL)+(q==NULL)==1)return false;//只剩下最后一种情况:p和q都不为NULLif (p->val!=q->val)return false;//执行到此处,说明p->val和q->val相等return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);
}bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot) 
{if (root==NULL)return false;if (isSameTree(root,subRoot))return true;return isSubtree(root->left,subRoot) || isSubtree(root->right,subRoot);}

4.提交结果

http://www.yayakq.cn/news/271938/

相关文章:

  • 提供专业网站小程序开发wordpress有名的网站
  • 基本网站怎么做注册域名com和cn
  • 陕西建设系统个人信息查询网站深圳宝安区地图
  • 个人网站备案模板百度建立网站需要花多少钱
  • 企业建网站的 程序罗湖网站建设联系电话
  • 做网站还用注册商标吗京网站建设首选白龙马
  • wordpress seo插件哪个好湖南企业seo优化推荐
  • 网站后台数据应该怎么做旅游扁平化设计网站模板
  • 怎么样申请网站做IT的需要别人打开网站吗
  • 凤凰一级a做爰片免费网站企业网站网上推广的途径
  • 岱岳区网站设计网站扁平化设计
  • 免费制作网页网站可以在线编程的网站
  • 网站开发的基本知识公众号开发者权限
  • 建设网站需要准备什么如何自己创建网站教程
  • 推销产品什么网站好微信网页版登录界面
  • 建站之星多少钱wordpress文件添加媒体库
  • 做网站一个程序员够吗网络公司 网站建设
  • 湖南省网站集约化建设实施方案网页怎么发布到网上
  • 网站开发的功能需求类似wordpress nodejs
  • 公司注册网上申请网站高端手机
  • wordpress常用短代码快速seo软件
  • 做国外网站做什么内容好盐城做网站优化
  • 一些难以发现的网站媒体网站
  • 昆明网络推广哪家好wordpress最好用的seo
  • 网站建设大传统企业公司网站优化案例
  • 网站建设成本图网站实用性
  • 买域名建网站价格小程序开发公司排行
  • 网站建设交流发言材料在网站上显示备案信息
  • 怎么修改自己公司网站房屋设计3d图用什么软件
  • 网站域名怎么做分录先做公众号在做网站