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

做网站设计用到的软件网站服务方案

做网站设计用到的软件,网站服务方案,策划案模板,贵港有网站建设的公司吗问题背景 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 最近公共祖先的定义为:对于有根树 T T T 的两个节点 p p p、 q q q,最近公共祖先表示为一个节点 x x x,满足 x x x 是 p p p、 q q q 的祖先且 x x x 的深度尽可能大…

问题背景

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。
最近公共祖先的定义为:对于有根树 T T T 的两个节点 p p p q q q,最近公共祖先表示为一个节点 x x x,满足 x x x p p p q q q 的祖先且 x x x 的深度尽可能大(一个节点也可以是它自己的祖先)。

数据约束

  • 树中节点数目在范围 [ 2 , 1 0 5 ] [2, 10 ^ 5] [2,105] 内。
  • − 1 0 9 ≤ N o d e . v a l ≤ 1 0 9 -10 ^ 9 \le Node.val \le 10 ^ 9 109Node.val109
  • 所有 N o d e . v a l Node.val Node.val 互不相同 。
  • p ≤ q p \le q pq
  • p p p q q q 均存在于给定的二叉树中。

解题过程

首先要想明白一种情形,如果递归到某个节点,发现题中所要求的两个节点分别在这个节点的两棵子树中,那么它就是答案,由两个条件保证:

  • 这个节点以上(往根节点的方向)的节点,不管是不是公共祖先,都一定不满足 最近 这个要求。
  • 这个节点以下(往子树的方向)的节点,必然不满足同时是两棵子树的根节点,但是要求的两个节点分别在两棵子树上。这就意味着,这些节点都不可能成为公共祖先。

在此基础上,如果当前节点是题中要求的其中某一个节点,那么它就是答案。
剩下的情况,遇到空节点返回空是常规此操作;递归的过程中只在左右子树上找到相应的节点,那就只返回递归相应子树的结果;如果在子树上都没有找到,同样返回空。

具体实现

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {// 当前节点是空节点则返回空,可与找到一个要求的节点合并if(root == null || root == p || root == q) {return root;}// 递归到左右子树中继续查找TreeNode left = lowestCommonAncestor(root.left, p, q);TreeNode right = lowestCommonAncestor(root.right, p, q);// 在左子树或者右子树中都找到了相应的节点,那么就把当前节点向上返回if(left != null && right != null) {return root;}// 返回递归子树时得到的非空的结果,两者都为空时随便返回哪个都可以,合并到 right 中return left != null ? left : right;}
}
http://www.yayakq.cn/news/480317/

相关文章:

  • wordpress没法做大网站做ar网站
  • 网站注册页面怎么做阿里云成功备案的网站增加域名
  • 商务网站建设实践实训心得设计logo的方法
  • 微信建微网站h5网页设计报告
  • 聊城建设银行网站成功的网站建设
  • 南昌网站建设培训网站建设科技北京有限公司
  • 网站的需求分析包括哪些wordpress不支持中文
  • mvc做网站用的多不多免费代理免费拿货
  • 建设银行官方网站广州网站怎么可以做视频播放
  • 建设实业公司网站设计模板免费建站绑定域名
  • 表格网站怎么做制作图片的软件哪个好用
  • 口碑好的秦皇岛网站建设哪里有长沙网站优化排名推广
  • 手机网站如何建立洛龙区网站制作建设费用
  • 如何做网站逻辑结构图邯郸网站设计开发公司
  • 烟台网站seo服务中移电子商务有限公司
  • 网站速度优化关于网站开发人员保密协议
  • 怎样在百度建立自己的网站阆中市网站建设服务
  • 阿里云部署网站教程wordpress自动上传至cdn
  • 什么网站空间稳定织梦的网站收录不好
  • 做旅游网站的yi小程序投票系统
  • 巩义网站优化公司网站服务器怎么做的
  • 有奖竞猜网站建设上海简站商贸有限公司
  • 吴忠网站建设哪家好交互设计软件有哪些
  • 正规网站建设平台怎么做网页代码
  • 临时域名用于网站调试网页设计总结心得
  • 目前国内家教做的好的网站在网站如何做在ps软件做界面
  • 屏山县建设局网站黑龙江省领导名单
  • 猪八戒logo设计网站网页设计图片和文字怎么在一排
  • 买了网站模版怎么做网站售价
  • 需要做网站建设的行业有哪些什么摄像头做直播网站