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

网站优化外包价格网站的主题与风格说明

网站优化外包价格,网站的主题与风格说明,html网站开发语言,html基础题目 来源#xff1a;JZ26 树的子结构 描述 输入两棵二叉树A#xff0c;B#xff0c;判断B是不是A的子结构。#xff08;我们约定空树不是任意一个树的子结构#xff09; 假如给定A为{8,8,7,9,2,#,#,#,#,4,7}#xff0c;B为{8,9,2}#xff0c;2个树的结构如下#xff…题目 来源JZ26 树的子结构 描述 输入两棵二叉树AB判断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,BB为子树则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树节点为空的情况两次都要返回trueB树才能正确匹配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://www.hkea.cn/news/14399031/

相关文章:

  • 哈尔滨 网站开发广告联盟代理平台
  • 企业网站开发是什么创建一个个人网站
  • 青岛北京网站建设价格电子商务平台有哪些签合同
  • 试用虚拟主机不能创建网站专注南昌网站建设
  • 衡阳网站制作公司快速模板建站
  • 个人域名怎么做网站企业做网站报价
  • 中心网站建设管理工作做调查问卷哪个网站好
  • 网站域名com和cn网站备案 法规
  • 优秀网站建设出售做门窗网站
  • 视频一页网站怎么做ps怎么做网页制作
  • 南宁网站建设方案书海报设计图片手绘图
  • 北京sem网站软件公司需要什么资质
  • php网站开发用什么php网页设计类官网
  • 合肥seo网站排名网站如何做的看起来高大上
  • 大网站制作公司百度一下官方网址
  • 农产品网站建设及优化项目南宁在那里推广网站
  • 婚恋网站建设项目创业计划书wordpress插件c++
  • 建设网站需要的技术指标wordpress wpyou
  • 网站建设之织梦模板网站建设的优点与不足
  • 吉林网站建设找哪家陶瓷网站开发背景
  • 网站搭建免费视频教程app开发公司怎么选
  • 南通网站建设方案开发ssc网站建设教程
  • 北京建设信息港网站wordpress添加网址为导航
  • 网站专题页策划东莞公司注册服务平台
  • 网站开发相关外文书籍企业名录搜索软件靓号怎么搜
  • 婚纱网站策划书模板下载用.net做的网站
  • 一般公司网站的后台管理在哪Wordpress怎么配合HTML
  • 网站改版 升级的目的自己可以做小程序商城吗
  • 快速搭建网站的方法自建站是什么意思
  • 常德网站公司建设三轮摩托车官方网站