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

做网站不知道做什么内容的企业建站要多少钱

做网站不知道做什么内容的,企业建站要多少钱,模板网站外链做不起来,立即注册二叉搜索树的最近公共祖先 题目描述递归 剪枝代码演示: 上期经典 题目描述 难度 - 中等 LC235 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q…

二叉搜索树的最近公共祖先

  • 题目描述
    • 递归 + 剪枝
    • 代码演示:
  • 上期经典

题目描述

难度 - 中等
LC235 二叉搜索树的最近公共祖先

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

在这里插入图片描述

递归 + 剪枝

搜索二叉树(Binary Search Tree)是一种树形结构,它有一个特殊的特性:对于每个节点,其左子树中所有节点的值都小于该节点的值,其右子树中所有节点的值都大于该节点的值。这种特性使得搜索效率非常高。
搜索二叉树具有以下特点:

1.每个节点最多只有两个子节点,分别称为左子节点和右子节点。
2.左子节点小于父节点,右子节点大于父节点。
3.没有重复的节点。

所以对于 BST 来说,根本不需要老老实实去遍历子树,由于 BST 左小右大的性质,将当前节点的值与val1和val2作对比即可判断当前节点是不是LCA:
假设val1 < val2,那么val1 <= root.val <= val2则说明当前节点就是LCA;若root.val比val1还小,则需要去值更大的右子树寻找LCA;若root.val比val2还大,则需要去值更小的左子树寻找最近公共祖先。

题目中说了两个节点肯定在这颗树上,因此可以省去不在的情况的判断。

代码演示:

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/class Solution {TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {// 保证 val1 较小,val2 较大int val1 = Math.min(p.val, q.val);int val2 = Math.max(p.val, q.val);return find(root, val1, val2);
}// 在 BST 中寻找 val1 和 val2 的最近公共祖先节点
TreeNode find(TreeNode root, int val1, int val2) {//base case if(root == null){return null;}//当前节点值大于val2就去左子树去遍历if(root.val > val2){return find(root.left,val1,val2);}// //当前节点值小于val1就去右子树去遍历if(root.val < val1){return find(root.right,val1,val2);}//如果 val1 <= root.val <= val2 说明当前节点就是最近公共祖先return root;
}
}

上期经典

leetcode236. 二叉树的最近公共祖先

http://www.shuangfujiaoyu.com/news/52314.html

相关文章:

  • 许昌 网站建设关键词seo排名优化如何
  • 毕设网站可以用axure做吗今日军事新闻头条视频
  • wordpress小型论坛主题seo排名推广工具
  • 大浪网站建设青岛网站设计微动力
  • 莆田网站建设哪里便宜东莞seo优化
  • 网站功能规划朝阳区seo技术
  • 唐山公司做网站长治网站seo
  • 发布课程的网站模板搜索引擎优化seo名词解释
  • 网站建设模板个人网站搭建源码
  • 购物网站功能市场调研报告范文3000字
  • 水电公司设计logo长沙seo培训班
  • 团购网站建设百度关键词优化的意思
  • php网站开发视频教程下载软件开发培训机构去哪个学校
  • 关于学院网站建设的意见国内免费ip地址
  • 如果自己建立网站做一个简单的网站需要多少钱
  • b2b网站推荐怎么样才能引流客人进店
  • ubuntu 做网站百度快照首页
  • 一级a做爰片免费网站给我看看黄页引流推广
  • 网站开发建设付款方式百度网盘资源分享
  • 郑州做供暖的公司网站seo快速整站上排名教程
  • 佛山网站制作网址国内最新新闻
  • 建筑网站大全玻璃seo外包是什么
  • jsp动态网站开发书籍2345网址导航设置
  • 广州地产网站设计网络推广公司哪里好
  • 阴阳师网站怎么做百度接单平台
  • 应届生求职网seo用什么工具
  • 广州市品牌网站建设平台网站推广的要点
  • dw做网站首页成都网站关键词排名
  • 广告营销策划是做什么的河南网站推广优化排名
  • 政府网站集约化建设存在的问题软文写作实训总结