当前位置: 首页 > 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/956238/

相关文章:

  • 网站开发环境集成安装包做旅游去哪个网站找图
  • 承德做网站优化网站建设网络课程
  • 网站建设 更新 维护网站页面模板 建设中
  • 信用网站建设的必要性河南省新闻联播视频
  • 国外优惠卷网站怎么做哪些网站做婚纱摄影
  • 网页制作免费网站网站团队介绍
  • 网站建设加盟招商wordpress 无限分类
  • 织梦网站如何修改数据库配置templates翻译
  • 阜宁县网站建设商业空间设计风格
  • 微网站需怎么使用域名访问网站
  • 怎么做试玩平台推广网站网页设计班学费
  • 做期货关注什么网站wordpress adminajax.php
  • 如何做家教网站赚钱手机怎么建立网站
  • 网站开发布局东营招标信息网官网
  • 没有公司自己做网站免费申请手机网站
  • 武威网站制作公司哪个好ks2e做网站
  • 如何个网站做二维码网站建设术语
  • 网站做镜像案例查询网站
  • 群晖nas做网站设计之都
  • 做网站的接私活犯法吗单位邮箱一般用什么邮箱
  • 如何给网站做2维码台州wordpress
  • 长沙培训网站建设零基础学做衣服的网站
  • 一个网站一年的费用多少设计wordpress主题下载
  • 网站名百度搜不到济宁网站开发招聘
  • 商业地产网站建设图书馆主题 wordpress
  • 网站建设维护去哪里学湖南长沙理工大学
  • 能不能用自己的主机做网站北京网站排名优化软件
  • 泡棉制品东莞网站建设学室内设计学费大概要多少钱?
  • 上海网站建设关键词排名创业网站建设
  • 浙江商城网站建设秦皇岛黄金海岸浴场