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

亳州网站开发公司企业名称注册查询系统

亳州网站开发公司,企业名称注册查询系统,山东省住房城乡建设部网站首页,wordpress悬浮小工具的插件题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以…

题目描述

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。

百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”

在这里插入图片描述

题目分析

  1. 首先需要注意下提示信息:
    a. 二叉树中所有节点中的值互不相同;
    b. p不等于q;
    c. p和q均存在于给定的二叉树中。
  2. 根据题意可知,若node节点为p,q的最近公共祖先,则可能的情况如下:
    a. p 和 q分别在node的左右子树中;
    b. p = node, 且q在node的左/右子树中;
    c. q = node,且p在node的左/右子树中。
  3. 从根节点开始遍历,递归向左右子树进行遍历;
    a. 递归结束条件:当前查询节点为null,或者当前节点为p或q,则返回当前节点
    b. 递归逻辑,结合2中的情况分析:
    递归遍历当前节点的左右子树,如果左右子树返回的节点都不为空,则表明p和q分别在左右子树中,即当前节点为最近公共祖先。
    如果左右子树返回节点其中一个不为空,则返回非空节点。

Code

class Solution {
public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {if (nullptr == root || p == root || q == root) {return root;}TreeNode* left = lowestCommonAncestor(root->left, p, q);TreeNode* right = lowestCommonAncestor(root->right, p , q);if (nullptr == left) {return right;}if (nullptr == right) {return left;}return root;}
};
http://www.yayakq.cn/news/249208/

相关文章:

  • 公司网站做一年多少钱中国商标查询
  • 网站图片规格移动互联网应用的使用情况表格
  • 网站建设基本台州低价网站建设
  • 网站开发工作室可以建微信网站的
  • 总结 设网站大连高新园区行政服务大厅电话
  • 视频网站设计化妆品电商网站模板
  • 制作网站软件作品做网站开发的过程
  • 河源网站开发兰州最大的装修公司
  • 设计网站公司 生活湖南岚鸿莒县建设局门户网站
  • 公司网站设计专业的试用网站 源码
  • 网站建设系统哪家好含山微信搭建网站建设
  • 岳阳网站项目建设报道写安卓软件用什么工具
  • 中国建设银行e路通网站宁波网站设计
  • 做那个网站的小编比较好扁平化的网站有哪些
  • 胶州网站制作WordPress集成插件
  • 针对网站做搜索引擎做优化兰州网站seo服务
  • 做设计必须知道的几个网站南宁营销型网站设计
  • 松原做网站公司wordpress 文章 格式
  • 手机电商网站开发网站中加入地图导航
  • 淘宝优惠券查询网站怎么做国外优秀网站案例
  • 网站个人备案材料教育培训类网站建设
  • 99元一月做网站金融公司网站建设
  • 外贸商城网站开发书杭州最新消息
  • 济南网站建设599做网站的公司怎么做业务
  • 下载ppt模板免费的网站网页建站平台建设
  • php在网站开发中的应用银川网站建设价格
  • wordpress编辑分类目录清远网站推广优化公司
  • 云服务器网站配置建网站需要用到什么软件
  • 深圳网站网络建设wordpress简码套用
  • 网站能实现什么功能网站是怎么优化推广的