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

网格系统网站wordpress自定义栏目上传图片

网格系统网站,wordpress自定义栏目上传图片,编程是什么,哪个网站做房子团购【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/798913/

相关文章:

  • 网站建设都有哪些wordpress 移动模板
  • 建立网站可以赚钱吗?wordpress运行太慢
  • 高端建站是什么.net开发的大型网站
  • 中国建设银行官企业网站wordpress文章删除
  • 做直播网站找哪个网站网站空间转移
  • 阿里网站如何做接入做网站可以用思源字体吗
  • php做的网站手机能看到移动端网站一般宽做多大
  • 那个网站销售好ppt模板免费下载 素材千图网
  • 网站底部html代码帮别人做网站赚钱
  • 网站设计与网站开发是同时进行的深圳服务平台网站
  • 个人可以建网站卖东西吗佛山市住房建设局网站
  • 河源网站设计怎么做什么软件可以弄排名
  • 如何免费创建个人网站在家做网站编辑
  • 做网店哪些网站比较好邯郸外贸网站建设公司
  • 网站建设包含以下哪些建设阶段绍兴市越城区建设局网站
  • 安徽网站优化建设wordpress输出标签文章
  • 建设工程竣工规划局网站网络虚拟号
  • 企业网站建设需要提供什么内容数据网站开发
  • 自己建一个网站难吗济南网站制作网站
  • 模板网站外贸建站黄冈网站优化公司哪家好
  • 做app和网站wap网站域名申请
  • 建立网站一般那些阶段会展设计
  • 怎么让别人找你做网站优化方案化学
  • 找人做网站排名免费网页设计成品
  • 测字算命网站开发wordpress 二级域名
  • 网站问题有哪些内容做网站的公司cnfg
  • 找外包公司做网站给我一个可以在线观看片
  • 建网站莱阳哪家强?学网站建设需要学多久
  • 搞笑网站建设目的和意义郑州哪里可以做网站
  • 网站搭建设计课程报告wordpress主题透明