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

网站建设的出发点谷歌seo网站推广

网站建设的出发点,谷歌seo网站推广,百度做网站价格,做动态网站用什么软件题目链接:https://leetcode.cn/problems/er-cha-sou-suo-shu-de-di-kda-jie-dian-lcof/ 1. 题目介绍( 54. 二叉搜索树的第k大节点) 给定一棵二叉搜索树,请找出其中第 k 大的节点的值。 【测试用例】: 示例 1: 示例2&…

题目链接:https://leetcode.cn/problems/er-cha-sou-suo-shu-de-di-kda-jie-dian-lcof/

1. 题目介绍( 54. 二叉搜索树的第k大节点)

给定一棵二叉搜索树,请找出其中第 k 大的节点的值。

【测试用例】:
示例 1:
在这里插入图片描述
示例2:
在这里插入图片描述

【条件约束】:

限制:

  • 1 ≤ k ≤ 二叉搜索树元素个数

2. 题解

2.1 中序遍历 – O(n)

时间复杂度O(n),空间复杂度O(1)
在这里插入图片描述

解题思路】:
由于题目给的树是 二叉搜索树 ,即 具有以下性质:

  • 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;
  • 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;
  • 它的左、右子树也分别为二叉排序树。

……
因此,若对它进行中序遍历,则是一颗递增的排好序的序列!
在这里插入图片描述
如上图所示,这是一棵有7个节点的二叉搜索树,它的中序遍历序列为 {2,3,4,5,6,7,8}
……
该题要求我们求的是 一棵二叉搜索树的 第 k 大节点,那么就应该对应着中序遍历序列的 倒数第 k 个节点;以上面的二叉搜索树为例,第 1 大节点应为 8,第 2 大节点应为 7,依次类推,原书中的举例应该是错的,它说按节点数值大小顺序,第3大节点的值是4(感觉这里应该是说错了)
……
实现策略】:
思路理清了,我们就可以愉快的写代码了
中序倒序遍历(右、根、左)求 第 k 大,同理,中序正序遍历(左、根、右)可以用来求 第 k 小

  1. 判断无效输入:头节点是否为空,k是否小于等于0;
  2. 以递归的形式 dfs() 来进行中序倒叙遍历,按照(右、根、左) 的顺序;
  3. 定义一个全局的 计数变量 idx,用来确认当前节点是否已经到了第 k 大节点,如果是,则将值保存在 res 中;(这里进一步简化的话,可以省略掉 idx 变量,转而直接操作 k ,让 k--,当 k 减至 0 时,代表已找到目标节点,无需再继续遍历)
  4. 递归结束,返回 res .
/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {// Solution1:中序遍历int res,idx = 0;public int kthLargest(TreeNode root, int k) {// 无效输入判断if (root == null || k <= 0) return -1;// 递归中序遍历dfs(root,k);// 最后返回结果return res;}void dfs(TreeNode root, int k) {// 递归终止条件if(root == null) return;// 中序倒序遍历,找最大dfs(root.right,k);idx++;// 如果当前是第k大,赋值给resif(idx == k) res = root.val;// 找左子树dfs(root.left,k);}
}

在这里插入图片描述

3. 参考资料

[1] 面试题54. 二叉搜索树的第 k 大节点(中序遍历 + 提前返回,清晰图解)

http://www.hkea.cn/news/434340/

相关文章:

  • 英文网站设计哪家好免费网站搭建
  • 网站建设公司 销量深圳谷歌seo公司
  • 新蔡哪有做网站建设的全球疫情今天最新消息
  • 怎么做平台网站百度seo报价方法
  • 帮人做网站 怎么收费怎么用网络推广
  • 网站排名优化建设百度广告投放技巧
  • 文件服务器网站搭建教程好的竞价托管公司
  • 黑龙江省城乡和住房建设厅网站首页百度链接地址
  • 网站模板修改工具专业seo关键词优化
  • 口碑好的句容网站建设yahoo搜索
  • 深圳网站建设外贸公司价格网络营销的背景和意义
  • 长春网站建设硕成传媒seo快速排名优化公司
  • web网站开发能使用c 吗免费建立个人网站申请
  • 织梦网站修改教程视频网站优化培训学校
  • 南沙区交通和建设局网站中国十大网络销售公司
  • 免费建设网站的方法百度网址大全 官网
  • 手机网站设计制作公司微信推广费用一般多少
  • 建设网站需要什么注册域名费用一般多少钱
  • 女性门户网站源码百度指数功能有哪些
  • 怎么帮公司做网站建设谷歌搜索引擎免费入口 香港
  • 请写出网站建设前期需要做的准备外贸定制网站建设电话
  • 南京门户网站建设网络营销优秀案例
  • 2012服务器如何做网站周口网络推广哪家好
  • 贵阳搜索玩的网站网络舆情软件免费入口
  • 前端自己写代码建网站要花多少钱游戏推广在哪里接活
  • 网站建设中+网页代码nba最新排名东西部
  • 东莞企业建设网站官网有限公司百度推广深圳分公司
  • 海外推广工作内容搜索引擎优化seo是什么
  • wordpress 发短信西安网络优化大的公司
  • dreamweaver个人网站南宁求介绍seo软件