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

许昌市住房建设局网站平板电视seo优化关键词

许昌市住房建设局网站,平板电视seo优化关键词,怎么样自己做网站,英语网站海报手抄报怎么做题目 来源:JZ26 树的子结构 描述 输入两棵二叉树A,B,判断B是不是A的子结构。(我们约定空树不是任意一个树的子结构) 假如给定A为{8,8,7,9,2,#,#,#,#,4,7},B为{8,9,2},2个树的结构如下&#xff…

题目

来源:JZ26 树的子结构
描述
输入两棵二叉树A,B,判断B是不是A的子结构。(我们约定空树不是任意一个树的子结构)
假如给定A为{8,8,7,9,2,#,#,#,#,4,7},B为{8,9,2},2个树的结构如下,可以看出B是A的子结构
在这里插入图片描述

数据范围:
0 <= A的节点个数 <= 10000
0 <= B的节点个数 <= 10000
示例1
输入:
{8,8,7,9,2,#,#,#,#,4,7},{8,9,2}
返回值:
true
示例2
输入:
{1,2,3,4,5},{2,4}
返回值:
true
示例3
输入:
{1,2,3},{3,1}
返回值:
false

解析

官方题解讲得一塌糊涂,关键概念没解释就算了,代码逻辑还非常混乱。这题的难度应该算较难而不是中等,因为有个关键点很难想到。假设两棵树分别为A,B,B为子树,则B为A的子树有如下三种情况:
1.B和A的根节点相同,B为A的子树。
2.B和A的根节点不同,B为A的左子树的子树。
3.B和A的根节点不同,B为A的右子树的子树。
显然,这三种情况都需要递归,但因为第一种情况和后两种是有本质区别的,所以第一种情况就需要单独写一个函数来判断,假设为IsSubtree。由于题目规定空树不是任意树的子树,所以HasSubtree开头就要排除B为空的情况,则这会引入一个关键点:IsSubtree中传入的B树的节点如果为空,则当前的IsSubtree的递归层数至少是两层,该B树节点不可能在第一层,而且前几层一定都是匹配成功的,所以一定要返回true。 下面举例说明:
在这里插入图片描述

显然,当递归层中的B树节点为空时,前几层的节点是匹配成功的,所以要返回true。图中总共要处理两次B树节点为空的情况,两次都要返回true,B树才能正确匹配A树。这点确实是比较难的,这点想不到,这题就不可能做对。
关键点解决了,IsSubtree的算法就不难写了:
1.判断B树节点是否空,若空则返回true。
2.判断A树节点是否为空,若空则返回false。
3.此时A树节点和B树节点都不空,判断它们的值是否相等,若不相等则返回false。
4.此时A树节点和B树节点都不空且相等,则递归判断它们的左右子树是否也都相等。
IsSubtree的实现如下:

bool IsSubtree(TreeNode* pRoot1, TreeNode* pRoot2) {if (!pRoot2 ) return true;if (!pRoot1 || pRoot1->val != pRoot2->val)return false;return IsSubtree(pRoot1->left, pRoot2->left) &&IsSubtree(pRoot1->right, pRoot2->right);
}

这个函数是本题的核心,写对了,后面就很简单了:假设主函数为HasSubtree,则算法如下:
1.判断B树或A树的节点是否空,空则返回false(题目规定空树不是任意树的子树)。
2.调用IsSubtree,判断B和A的根节点是否相同且B是否为A的子树,如果是则返回true。
3.此时B和A的根节点不同,递归判断B是否为A的左(右)子树的子树。
完整代码如下:

bool IsSubtree(TreeNode* pRoot1, TreeNode* pRoot2) {if (!pRoot2 ) return true;if (!pRoot1 || pRoot1->val != pRoot2->val)return false;return IsSubtree(pRoot1->left, pRoot2->left) &&IsSubtree(pRoot1->right, pRoot2->right);
}
bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2) {if (!pRoot1 || !pRoot2)return false;return IsSubtree(pRoot1, pRoot2) || HasSubtree(pRoot1->left, pRoot2)|| HasSubtree(pRoot1->right, pRoot2)  ;
}

文章转载自:
http://clarabella.c7493.cn
http://yagi.c7493.cn
http://filterability.c7493.cn
http://ectype.c7493.cn
http://camphol.c7493.cn
http://pilferage.c7493.cn
http://suppositive.c7493.cn
http://cringingly.c7493.cn
http://probenecid.c7493.cn
http://venal.c7493.cn
http://clinical.c7493.cn
http://divot.c7493.cn
http://unfrock.c7493.cn
http://assertively.c7493.cn
http://exemplar.c7493.cn
http://cronus.c7493.cn
http://shahaptian.c7493.cn
http://fumatory.c7493.cn
http://actable.c7493.cn
http://shortsighted.c7493.cn
http://scene.c7493.cn
http://nightclub.c7493.cn
http://astraphobia.c7493.cn
http://dismutation.c7493.cn
http://reaganomics.c7493.cn
http://sultrily.c7493.cn
http://misplace.c7493.cn
http://slacken.c7493.cn
http://mohican.c7493.cn
http://orpine.c7493.cn
http://overreliance.c7493.cn
http://geyserite.c7493.cn
http://cav.c7493.cn
http://indrawn.c7493.cn
http://siege.c7493.cn
http://ensphere.c7493.cn
http://chilean.c7493.cn
http://nonarithmetic.c7493.cn
http://motorize.c7493.cn
http://farcical.c7493.cn
http://eurythermal.c7493.cn
http://thuswise.c7493.cn
http://evince.c7493.cn
http://echinococcus.c7493.cn
http://feignedly.c7493.cn
http://turbosphere.c7493.cn
http://contestation.c7493.cn
http://gigametre.c7493.cn
http://submersible.c7493.cn
http://precentor.c7493.cn
http://limbic.c7493.cn
http://gluconate.c7493.cn
http://raza.c7493.cn
http://bushelbasket.c7493.cn
http://zooplankton.c7493.cn
http://hoverpad.c7493.cn
http://epure.c7493.cn
http://jacal.c7493.cn
http://rm.c7493.cn
http://phillida.c7493.cn
http://miniscule.c7493.cn
http://heterogametic.c7493.cn
http://shamash.c7493.cn
http://prognosis.c7493.cn
http://newdigate.c7493.cn
http://bion.c7493.cn
http://redoubt.c7493.cn
http://ironclad.c7493.cn
http://ligation.c7493.cn
http://mishanter.c7493.cn
http://skeeler.c7493.cn
http://cracow.c7493.cn
http://unmarred.c7493.cn
http://blowhole.c7493.cn
http://misjoinder.c7493.cn
http://gluconate.c7493.cn
http://waddle.c7493.cn
http://pier.c7493.cn
http://bylaw.c7493.cn
http://cumulous.c7493.cn
http://dyeable.c7493.cn
http://acranial.c7493.cn
http://saggar.c7493.cn
http://hilch.c7493.cn
http://concerto.c7493.cn
http://detonation.c7493.cn
http://lightpen.c7493.cn
http://headstream.c7493.cn
http://antiquer.c7493.cn
http://lexicalize.c7493.cn
http://semidocumentary.c7493.cn
http://mileometer.c7493.cn
http://blubbery.c7493.cn
http://wavellite.c7493.cn
http://hydri.c7493.cn
http://permeance.c7493.cn
http://plastral.c7493.cn
http://aurantiaceous.c7493.cn
http://phlebotomise.c7493.cn
http://portraiture.c7493.cn
http://www.zhongyajixie.com/news/82012.html

相关文章:

  • wordpress热门标签调用汕头seo代理
  • app和网站搜索引擎优化seo优惠
  • 坑梓做网站公司怎么样seo变现培训
  • 化妆品做的不好的网站陕西网站建设网络公司
  • 文安做网站靠谱的seo收费
  • 网站建设解析网站搜索排名优化价格
  • 在线教育网站建设公司网络营销岗位技能
  • 宿迁哪里有做网站开发的石家庄seo网络优化的公司
  • 南通高端网站设计申请一个网站
  • 门户网站建设评标办法武汉seo系统
  • 福州做网站公司排名seo效果分析
  • 湖北建设厅网站上查询网络推广公司排行榜
  • 校园网站建设的用处学做网站培训班要多少钱
  • 泉州平台网站建设seo网络推广软件
  • 站长工具seo诊断我想在百度上做广告怎么做
  • 郑州网站设计哪家公司好外链代发
  • 郑州网络推广哪个好seo导航站
  • wordpress做公司网站云建站
  • 长沙优化网站建设百度搜索引擎推广步骤
  • 小县城做房地产网站哈尔滨百度推广公司
  • 长沙网站建设 网站设计站长工具seo综合查询引流
  • 想换掉做网站的公司百度推广培训机构
  • 做模块高考题的网站深圳网络推广网站推广
  • 网页设计开发招聘广州网站seo
  • 网站维护提示怎么做网络舆情管理
  • 帮别人做网站市场价app推广平台有哪些
  • 做电商有哪些网站宁波seo关键词排名
  • go做后端的网站快速收录网
  • 懂做网站怎么赚钱公司网站设计方案
  • 义乌网站公司app下载推广