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

佛山seo联系方式信息流优化师发展前景

佛山seo联系方式,信息流优化师发展前景,国家信用信息公示系统湖北,免费设计海报文章目录 一、题目描述示例 1示例 2 二、代码三、解题思路 一、题目描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足…

文章目录

  • 一、题目描述
      • 示例 1
      • 示例 2
  • 二、代码
  • 三、解题思路


一、题目描述

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

百度百科中最近公共祖先的定义为:“对于有根树 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 为不同节点且均存在于给定的二叉搜索树中。

二、代码

代码如下:

# 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':# 寻找p和q节点的父节点,如果2者其当前父节点相同或者其中一个的父节点等同于另一个节点,则表示找到;# 如果当前父节点不相同,则继续找当前父节点的父节点,直到找到为止p_father = []q_father = []def findp(r):if r.val == p.val:p_father.append(r)returnelif r.val > p.val:p_father.append(r)findp(r.left)else:p_father.append(r)findp(r.right)def findq(r):if r.val == q.val:q_father.append(r)returnelif r.val > q.val:q_father.append(r)findq(r.left)else:q_father.append(r)findq(r.right)findp(root)findq(root)result = rootfor i in range(min(len(q_father),len(p_father))):if q_father[i] == p_father[i]:result = q_father[i]continueelse:breakreturn result        

三、解题思路

本题需要寻找的是某2个节点的公共父节点(该父节点也可能是节点本身),所以本题的解题思路为找出p,q这2个节点的所有父节点,且包含有p,q节点本身。
寻找pq所有父节点思路为:从二叉树搜索树的根开始往下找,记录下当前的节点作为其父节点,然后根据p,q节点的值的大小判断其应该在哪一个分支,前往那个分支重复以上操作,直到找到p、q节点为止。(因为题意保证p、q节点一定在数中存在且唯一,所以找到该节点的父节点路径仅有1条)
然后根据找到p、q的所有父节点的列表,开始从头寻找这2个列表的公共最大子列表,找到其公共最大子列表后,返回其最后一位节点即可。
例如:
p_father = [6节点,2节点]
q_father = [6节点,2节点,4节点]
p、q父节点列表中的最大公共子列表为[6节点、2节点],则p、q的公共最近父节点为最大公共子列表的最后一项——2节点
又例如:
p_father = [6节点,2节点]
q_father = [6节点,8节点]
p、q父节点列表中的最大公共子列表为[6节点],则p、q的公共最近父节点为6节点

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

相关文章:

  • asp 课程教学网站开发ftp查看网站后台密码
  • 银川网站制作报价wordpress试用
  • 长沙房地产公司排名培训seo技术
  • 国外高端网站视频格式转换网页版
  • 网站建设实训周记东莞建筑企业招聘
  • 江苏省建设厅网站施工员证查询南昌有做网站的吗
  • 用hexo做网站贵州省住房和城乡建设厅门户网站
  • 重庆做网站找谁php调用网站导航怎么弄
  • 网站价格评估 优帮云厂房建设招标网站
  • 网站怎么做cdn定制做网站
  • 官方网站建设报价网络营销方式英语
  • 自适应企业网站源码商城形式的网站需要多少钱
  • 天津企业网站建站教程的实现方式
  • 手机版文章网站源码什么网站做ppt好
  • ps做简洁大气网站北京市建设工程造价管理处网站
  • 徐州徐州网站建设鹤峰网站建设
  • 厅门户网站建设苏州网址
  • 国外网站 备案吗网页设计工作室选址依据
  • 宝安做网站公司乐云seo郑州网站建设学习
  • 网站建站的尺寸微网站和手机网站
  • 苏州网站建设网站制作的公司扬州大学第四届网站建设评比
  • 《网站建设与管理》论文wordpress自动评论工具
  • 做网站应怎么缴税湖南企业app下载
  • 外贸网站如何优化wordpress微信验证码
  • 广告网站模板网站建设 中企动力宜昌
  • 网站建设客户需求wordpress 产品筛选
  • 保定建站模板搭建博客wordpress
  • 做的网站每年需要续费个人网站能备案吗
  • 免费网站制作视频教程智能建造师证书
  • seo北京网站推广专业柳州网站建设多少钱