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

油漆工找活做的网站怎样推广自己的广告

油漆工找活做的网站,怎样推广自己的广告,石嘴山网站建设公司,如何自己免费做网站大家好,我是苏貝,本篇博客带大家刷题,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 一. 相同的树二. 对称二叉树三. 另一棵树的子树 一. 相同的树 点击查看题目 思路: bool isSameTree(…

大家好,我是苏貝,本篇博客带大家刷题,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️
在这里插入图片描述


目录

  • 一. 相同的树
  • 二. 对称二叉树
  • 三. 另一棵树的子树

一. 相同的树

点击查看题目

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

思路:

在这里插入图片描述

bool isSameTree(struct TreeNode* p, struct TreeNode* q) {//都为空if(p==NULL&&q==NULL)return true;//一个为空if(p==NULL||q==NULL)return false;//值不相同if(p->val!=q->val)return false;//值相同,比较左右子树return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
}

二. 对称二叉树

点击查看题目

在这里插入图片描述
在这里插入图片描述

思路:

在这里插入图片描述

这道题同相同的树相似,只不过相同的树是比较2个树的同侧子树,而这道题是比较不同侧子树

bool _isSymmetric(struct TreeNode* p,struct TreeNode* q){//p q都为空if(p==NULL&&q==NULL)return true;//p和q有一个为空if(p==NULL||q==NULL)return false;//p和q的值不同if(p->val!=q->val)return false;//p和q的值相同,再比较它们的不同侧子树return _isSymmetric(p->left,q->right)&&_isSymmetric(p->right,q->left);
}bool isSymmetric(struct TreeNode* root) {return _isSymmetric(root->left,root->right);
}

三. 另一棵树的子树

点击查看题目

在这里插入图片描述
在这里插入图片描述

思路:

在这里插入图片描述
注意右边例子中subRoot不是另一棵树的子树,因为root多了一个节点
好了,那本题的代码很轻易地就写出来了,那这对不对呢?

bool isSameTree(struct TreeNode* p, struct TreeNode* q) {//都为空if(p==NULL&&q==NULL)return true;//一个为空if(p==NULL||q==NULL)return false;//值不相同if(p->val!=q->val)return false;//值相同,比较左右子树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(root->val==subRoot->val)return isSameTree(root,subRoot);return isSubtree(root->left,subRoot)||isSubtree(root->right,subRoot);
}

在这里插入图片描述
很遗憾,这是错的。为什么呢?我们的本意是:如果root->val == subRoot->val,但是root和subRoot不相同,那么我们再比较root的左右子树和subRoot。基于这个想法,我们再仔细看代码,发现当root->val==subRoot->val时,返回的是isSameTree(root,subRoot)的值,那么如果返回false,我们会直接跳过root的子树而返回root的双亲结点(以下图的两个树为例)

在这里插入图片描述
在这里插入图片描述

所以我们在root->val==subRoot->val时不能返回isSameTree(root,subRoot)的值,而是当它的值为true时返回true,否则再比较左右子树。代码如下:

bool isSameTree(struct TreeNode* p, struct TreeNode* q) {//都为空if(p==NULL&&q==NULL)return true;//一个为空if(p==NULL||q==NULL)return false;//值不相同if(p->val!=q->val)return false;//值相同,比较左右子树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(root->val==subRoot->val){if(isSameTree(root,subRoot))return true;}return isSubtree(root->left,subRoot)||isSubtree(root->right,subRoot);
}

也有一种简写的方法,思路一样

bool isSameTree(struct TreeNode* p, struct TreeNode* q) {//都为空if(p==NULL&&q==NULL)return true;//一个为空if(p==NULL||q==NULL)return false;//值不相同if(p->val!=q->val)return false;//值相同,比较左右子树return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
}bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot){if(root==NULL)return false;return isSameTree(root,subRoot)||isSubtree(root->left,subRoot)||isSubtree(root->right,subRoot);
}

好了,那么本篇博客就到此结束了,如果你觉得本篇博客对你有些帮助,可以给个大大的赞👍吗,感谢看到这里,我们下篇博客见❤️

http://www.mmbaike.com/news/29065.html

相关文章:

  • 做赛事下注网站违法吗江西seo推广
  • 网站免费注册百度如何投放广告
  • 专业做酒的网站有哪些游戏app拉新平台
  • 什么是网站开发百度品牌推广
  • 佛山市制作网站免费b站推广短视频
  • 网站建设页面设计之后平台推广广告宣传词
  • 西宁网站运营公司重庆seo网站管理
  • 做室内设计人喜欢的网站广告营销策划方案模板
  • 去年做啥网站能致富搜索引擎大全全搜网
  • wordpress构建小程序北京推广优化经理
  • 南通网站建设排名公司哪家好给大家科普一下b站推广网站
  • 网站怎么做切换图片线上平台怎么推广
  • net framework可以用来做网站吗网络营销模式下品牌推广途径
  • 青海西宁网站建设公司接app推广
  • 如何建立一个永久网站公司网站建设需要多少钱
  • 网站首页效果图怎么做线下推广宣传方式有哪些
  • 手工品外贸出口网站建设方案链接转二维码
  • 10有免费建网站网站seo技术教程
  • 做得好的企业网站上海服务政策调整
  • 政务网站建设的重要性市场调研的四个步骤
  • 网站建设浙江谷歌网站
  • 网站建设预期周期徐州网站设计
  • dede网站地图htmlseo技术是什么意思
  • 天津市工程建设交易网站查汗国青岛网站建设制作公司
  • 东莞 营销网站外贸seo推广公司
  • 阳泉网站建设牛推网络
  • 网站建设方案书范本磁力蜘蛛种子搜索
  • 无锡的网站建设公司百度优化插件
  • 网站开发服务器种类市场监督管理局职责范围
  • 学做企业网站网页制作接单平台