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

微网站开发入门朋友圈广告推广

微网站开发入门,朋友圈广告推广,网站通栏如何做特效,客户推广渠道有哪些一、题目描述与要求 二叉搜索树的最近公共祖先_牛客题霸_牛客网 (nowcoder.com) 题目描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 1.对于该题的最近的公共祖先定义:对于有根树T的两个节点p、q,最近公共祖先LCA(T,p,q)表示一个节点x&#…

一、题目描述与要求

二叉搜索树的最近公共祖先_牛客题霸_牛客网 (nowcoder.com)

题目描述

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

1.对于该题的最近的公共祖先定义:对于有根树T的两个节点p、q,最近公共祖先LCA(T,p,q)表示一个节点x,满足x是p和q的祖先且x的深度尽可能大。在这里,一个节点也可以是它自己的祖先.

2.二叉搜索树是若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值

3.所有节点的值都是唯一的。

4.p、q 为不同节点且均存在于给定的二叉搜索树中。

数据范围:

3<=节点总数<=10000

0<=节点值<=10000

如果给定以下搜索二叉树: {7,1,12,0,4,11,14,#,#,3,5},如下图:

示例

示例1:

输入:{7,1,12,0,4,11,14,#,#,3,5},1,12

返回值:7

说明:节点1 和 节点12的最近公共祖先是7

示例2:

输入:{7,1,12,0,4,11,14,#,#,3,5},12,11

返回值:12

说明:因为一个节点也可以是它自己的祖先.所以输出12


二、解题思路

根据题目要求,需要我们在给定的二叉树中,找到所给出的两个结点的最近公共祖先。

思路很简单,就是我们从根节点开始分别去找到所给出的两个结点,并且记录根结点分别到两个结点的路径,然后比较这两条路径,路径中最后一个相同的结点就是两个结点最近的公共结点。其中路径的查找则可以利用二叉搜索树的性质,左子树都比根结点小,右子树都比根结点大,将所给定结点的值与根结点比较从而找到所给结点即可,路径则记录在vector中。

题目说了节点数量>=3,因此我们不需要判断树是否为空。

首先求出根结点到对应两个结点的路径;

利用for循环遍历两个路径,找到最后一个相同的结点,最后返回即可。


三、具体代码

class Solution {
public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param root TreeNode类 * @param p int整型 * @param q int整型 * @return int整型*/vector<int> getPath(TreeNode* root,int x){vector<int> path;TreeNode* p=root;while(p->val!=x){path.push_back(p->val);if(x<p->val) p=p->left;else p=p->right;}path.push_back(p->val);return path;}int lowestCommonAncestor(TreeNode* root, int p, int q) {//找到根结点到目标结点的路线vector<int> path_p=getPath(root,p);vector<int> path_q=getPath(root,q);int res=0;//最后结果for(int i=0;i<path_p.size()&&i<path_q.size();i++){//最后一个相同的结点就是最近的公共祖先if(path_p[i]==path_q[i])  res=path_p[i];else  break;}return res;}
};

http://www.yayakq.cn/news/47665/

相关文章:

  • 昆山网页网站制作wordpress主题viue安装
  • 定制商城网站建设大连建站平台
  • 贷款类网站怎样做做网站开发的有外快嘛
  • 产品展示网站建设大足集团网站建设
  • wordpress智能更新插件南宁seo平台费用
  • 做阀门的英文网站怎么写手机网站备案
  • 怎样做企业手机网站建设最新公司注册流程
  • 建设手机版网站网站排名易下拉稳定
  • 佛山网站建设品牌优化网站排名推荐公司
  • 如何避免网站被降权wordpress 下载文件插件
  • 网站内页收录突然没了个人可以做几个网站
  • 找公司建网站报价织梦html5网站模板
  • 湖北营销网站建设设计网站域名重要吗
  • 公司网站的建设怎么做泉州七中
  • 把网站打包微信小程序网站平台定制开发
  • seo加盟代理班级优化大师的功能有哪些
  • 网站设计学校在服务器网站上做跳转
  • 网站手机源码微站和网站数据同步
  • wordpress网站修改域名如何给网站引流
  • 做网站版权怎么写1号网站建设
  • 建筑网站、app开发公司网站
  • 个人主页网站模板免费爱空间装修公司口碑怎么样
  • 大庆免费网站建设小说网站系统怎么做
  • 网站报名怎么做汕头建设局网站
  • 雷达图 做图网站Wordpress媒体库途径
  • 35互联做的网站后台怎样登录彩票网站怎么做赚钱吗
  • 做a图片网站北京网络推广
  • 网站建设规划方案包括网站建设企业建站要多久
  • 做网站的技术支持做娃衣的布料去哪个网站
  • 设计网名姓氏天津网站建设网站排名优化