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

模板建站合同东莞网站快速排名提升

模板建站合同,东莞网站快速排名提升,深圳市宝安区劳动局电话,莱芜可靠的网站建设想要精通算法和SQL的成长之路 - 二叉树的判断问题 前言一. 相同的树二. 对称二叉树三. 判断子树 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 相同的树 原题链接 这题目典型的递归题: 如果两个节点都是null,我们返回true。如果两个节点一个nul…

想要精通算法和SQL的成长之路 - 二叉树的判断问题

  • 前言
  • 一. 相同的树
  • 二. 对称二叉树
  • 三. 判断子树

前言

想要精通算法和SQL的成长之路 - 系列导航

一. 相同的树

原题链接
在这里插入图片描述

这题目典型的递归题:

  • 如果两个节点都是null,我们返回true
  • 如果两个节点一个null,一个非空,返回false
  • 最后满足条件:当前两个节点值相等,并且两个节点的左子树相等,右子树也相等。

代码如下:

public boolean isSameTree(TreeNode p, TreeNode q) {if (p == null && q == null) {return true;}if (p == null || q == null) {return false;}return p.val == q.val && isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
}

二. 对称二叉树

原题链接
在这里插入图片描述
这个题目,我们依旧使用递归算法。我们可以在第一题的基础上,做一个改变。
一致性代码:

return p.val == q.val && isSameTree(p.left, q.left) && isSameTree(p.right, q.right);

对称代码:

return p.val == q.val && isSameTree(p.left, q.right) && isSameTree(p.right, q.left);

最终完整代码如下:

public boolean isSymmetric(TreeNode root) {return helper(root.left, root.right);
}public boolean helper(TreeNode p, TreeNode q) {if (p == null && q == null) {return true;}if (p == null || q == null) {return false;}return p.val == q.val && helper(p.left, q.right) && helper(p.right, q.left);
}

三. 判断子树

原题链接
在这里插入图片描述
此题依旧是第一题的一个进阶版,判断B是否是A的子树可以等同于:

  • AB 是否相同?
  • A.leftB 是否相同?
  • A.rightB 是否相同?
  • 以此类推…

那么在第一题的基础上,我们有了函数去判断两棵树是否相等,我们只需要完成上面的判断即可:

public boolean isSubtree(TreeNode root, TreeNode subRoot) {// 特判:root肯定不能为nullif (root == null) {return false;}// 特判:subRoot子树允许为nullif (subRoot == null) {return true;}return isSubtree(root.left, subRoot) || isSubtree(root.right, subRoot) || isSameTree(root, subRoot);
}public boolean isSameTree(TreeNode p, TreeNode q) {if (p == null && q == null) {return true;}if (p == null || q == null) {return false;}if (p.val != q.val) {return false;}return p.val == q.val && isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
}
http://www.mmbaike.com/news/31644.html

相关文章:

  • 创客贴网站做海报技能百度云盘登录入口
  • 长沙银狐做网站网络推广专员是做什么的
  • 在线做ppt的网站百度广告联系方式
  • python基础教程学什么百度手机端排名如何优化
  • 免费采集器 wordpressseo引擎优化平台培训
  • b2b平台网站建设方案关键词优化
  • 哪个网站是做包装材料珍珠棉包管简述网站制作的步骤
  • 建站国外百元服务器交换友情链接推广法
  • 安徽网站开发推荐百度左侧排名
  • 网站服务器ip地址怎么查企业seo顾问
  • 做网站费用会计科目济南优化网页
  • 苹果手机做网站服务器营销平台建设
  • 南充网站建设广告推广营销网站
  • 做餐饮加盟的网站建设网站 推广
  • 学做网站在什么地方学重庆网站建设软件
  • 做网站资源营销策略模板
  • 网站开发 后端返回前端一个地址 有什么用网站推广交换链接
  • wordpress腾讯云搭建网站百度怎么推广产品
  • 虚拟机做网站服务北京网站优化方案
  • 青浦做网站郑州网站seo外包
  • 横店八上信息书做网站的内容建立网站步骤
  • 网站开发经验与教训种子库
  • wordpress关于河北网站优化公司
  • 国内10大猎头公司排名网络优化大师
  • 类阿里巴巴网站 建设费用百度平台电话多少
  • 湖南长沙网站建设公司电话深圳市龙华区
  • 齐齐哈尔网站seo安徽网站推广优化
  • 网站建设费用的会计黄页网络的推广软件
  • 宿迁企业网站设计北京百度推广优化公司
  • 端端网站开发汕头网站优化