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

ps做游戏网站文章类网站后台

ps做游戏网站,文章类网站后台,怎么注册域名和网站,网站建设中 敬请期待【LetMeFly】235.二叉搜索树的最近公共祖先:用搜索树性质(不遍历全部节点) 力扣题目链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/ 给定一个二叉搜索树, 找到该树中两个指定节点的最近公…

【LetMeFly】235.二叉搜索树的最近公共祖先:用搜索树性质(不遍历全部节点)

力扣题目链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/

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

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

例如,给定如下二叉搜索树:  root = [6,2,8,0,4,7,9,null,null,3,5]

 

示例 1:

输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8
输出: 6 
解释: 节点 2 和节点 8 的最近公共祖先是 6。

示例 2:

输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 4
输出: 2
解释: 节点 2 和节点 4 的最近公共祖先是 2, 因为根据定义最近公共祖先节点可以为节点本身。

 

说明:

  • 所有节点的值都是唯一的。
  • p、q 为不同节点且均存在于给定的二叉搜索树中。

方法一:用搜索树性质(不遍历全部节点)

需要注意的是,这道题给定的二叉树是二叉搜索树。因此对于某个节点root

  • 如果root.val > p.val并且root.val > q.val,就说明pq都在root的左子树上。令root = root.left
  • 否则如果root.val < p.val并且root.val < q.val,就说明pq都在root的右子树上。令root = root.right
  • 否则,说明pqroot的左右子树上或者就是rootroot即为pq的最近公共祖先。

以上。

  • 时间复杂度 O ( N ) O(N) O(N),其中 N N N是二叉树节点个数
  • 空间复杂度 O ( 1 ) O(1) O(1)

AC代码

C++
class Solution {  // AC,83.74%,90.18%
public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {while (true) {if (root->val < p->val && root->val < q->val) {root = root->right;}else if (root->val > p->val && root->val > q->val) {root = root->left;}else {return root;}}}
};
Python
# # Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = Noneclass Solution:def lowestCommonAncestor(self, root: 'TreeNode', p: 'TreeNode', q: 'TreeNode') -> 'TreeNode':while True:if root.val < p.val and root.val < q.val:root = root.rightelif root.val > p.val and root.val > q.val:root = root.leftelse:return root

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/136279915

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

相关文章:

  • 织梦装修公司网站模板免费服务器使用推荐
  • 天津平台网站建设费用如何注册公司邮箱帐号
  • 阜新市项目建设网站wordpress 百度翻译
  • asp网站 会员注册西安网站维护招聘
  • html5优秀企业网站网站活动怎么做
  • 自建网站怎么关闭网站建设的大概费用
  • 重庆医院网站建设建e室内设计网官网图库
  • 网站做锚点内蒙古住房建设部官方网站
  • app与网站用的服务器精品课程网站建设总结报告
  • dede手机网站仿站ui设计软件下载
  • 设计网站推荐国外软件定制图片
  • 搭建正规网站档案信息网站建设情况
  • 福州网站建设资讯网站运营计划书
  • 江阴做网站哪家好兰州网站建设hiteeth
  • 黑群晖的做网站文件有哪些免费的云服务器
  • asp学习网站网站有备案号
  • 网络营销效果好的网站wordpress4.5.3中文版
  • 太平保险网站网站建设 全网推广
  • 网站产品二级分类浙江网站优化公司
  • 以投资思维做网站郑州妇科医院排行榜
  • 公司做网站走什么费槐荫区网站建设
  • 网站顶部代码小型创意电子产品设计
  • 肇庆广宁住房和城乡建设部网站搭建网站 软件
  • wordpress建站网保险做的好的网站
  • 做水电到哪个网站找信息网易网站建设的目的
  • 云南旅游网站开发公司wordpress攻略
  • 需要一个网站建设工程项目管理信息门户网站
  • 公司网站找不到了优化制造业布局
  • 县门户网站建设方案哈尔滨专业建站免费咨询
  • 免费w网站建设吴忠市建设工程质量监督站网站