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

昆山网站设计公司百度站长平台官网

昆山网站设计公司,百度站长平台官网,广东省网页制作,wordpress修改指向域名目录 题目描述:230. 二叉搜索树中第K小的元素(中等)题目接口解题思路代码 PS: 题目描述:230. 二叉搜索树中第K小的元素(中等) 给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你…

目录

  • 题目描述:230. 二叉搜索树中第K小的元素(中等)
    • 题目接口
    • 解题思路
    • 代码
  • PS:

题目描述:230. 二叉搜索树中第K小的元素(中等)

给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。

LeetCode做题链接:LeetCode-两数之和

示例 1:
在这里插入图片描述

输入:root = [3,1,4,null,2], k = 1
输出:1

示例 2:
在这里插入图片描述

输入:root = [5,3,6,2,4,null,null,1], k = 3
输出:3

提示:

树中的节点数为 n 。
1 <= k <= n <= 104
0 <= Node.val <= 104

进阶: 如果二叉搜索树经常被修改(插入/删除操作)并且你需要频繁地查找第 k 小的值,你将如何优化算法?

题目接口

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public int kthSmallest(TreeNode root, int k) {}
}

解题思路

  1. 创建一个ArrayList用于存储中序遍历的结果。中序遍历是一种二叉树的遍历方式,顺序为左子树-根节点-右子树。这种遍历方式可以得到一个升序的序列。
  2. 定义一个方法kthSmallest,输入参数为二叉树的根节点和整数k,返回二叉树中第k小的元素。在这个方法中,首先调用dfs方法对二叉树进行中序遍历,将结果存储在list中。然后返回list中第k-1个元素,因为数组下标从0开始,而题目要求的k是从1开始的。
  3. 定义一个方法dfs,输入参数为二叉树的节点,递归地对该节点的左子树和右子树进行中序遍历。在这个方法中,首先判断当前节点是否为空,如果为空则直接返回。然后递归地对左子树进行中序遍历,将遍历得到的结果存储在list中。接着将当前节点的值添加到list中,最后递归地对右子树进行中序遍历。

通过这种方式,我们可以在O(n)的时间复杂度内找到二叉搜索树中第k小的元素,其中n是二叉树的节点数。

代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {// 创建一个ArrayList用于存储中序遍历的结果ArrayList<Integer> list = new ArrayList<>();// 定义一个方法,输入参数为二叉树的根节点和整数k,返回二叉树中第k小的元素public int kthSmallest(TreeNode root, int k) {// 先对二叉树进行中序遍历,将结果存储在list中dfs(root);// 返回list中第k-1个元素,因为数组下标从0开始,而题目要求的k是从1开始的return list.get(k - 1);}// 定义一个方法,输入参数为二叉树的节点,递归地对该节点的左子树和右子树进行中序遍历public void dfs(TreeNode root) {// 如果当前节点为空,直接返回if (root == null) {return;}// 递归地对左子树进行中序遍历dfs(root.left);// 将当前节点的值添加到list中list.add(root.val);// 递归地对右子树进行中序遍历dfs(root.right);}
}

PS:

感谢您的阅读!如果您觉得本篇文章对您有所帮助,请给予博主一个喔~


文章转载自:
http://lamella.yzkf.cn
http://outpatient.yzkf.cn
http://beta.yzkf.cn
http://obtundent.yzkf.cn
http://pranidhana.yzkf.cn
http://whish.yzkf.cn
http://signorino.yzkf.cn
http://genera.yzkf.cn
http://tennantite.yzkf.cn
http://stravinskian.yzkf.cn
http://dictatorship.yzkf.cn
http://nbw.yzkf.cn
http://senatorial.yzkf.cn
http://offenbach.yzkf.cn
http://decline.yzkf.cn
http://necropolis.yzkf.cn
http://escheator.yzkf.cn
http://archdeacon.yzkf.cn
http://diestock.yzkf.cn
http://vito.yzkf.cn
http://frangipane.yzkf.cn
http://marketbasket.yzkf.cn
http://housebreaking.yzkf.cn
http://convection.yzkf.cn
http://bobsled.yzkf.cn
http://pyrometamorphism.yzkf.cn
http://boohoo.yzkf.cn
http://moonseed.yzkf.cn
http://novara.yzkf.cn
http://transfigure.yzkf.cn
http://heirship.yzkf.cn
http://holloware.yzkf.cn
http://stimulin.yzkf.cn
http://omnipotence.yzkf.cn
http://stumpage.yzkf.cn
http://phycoerythrin.yzkf.cn
http://mcfd.yzkf.cn
http://devilfish.yzkf.cn
http://occasionality.yzkf.cn
http://ul.yzkf.cn
http://cenote.yzkf.cn
http://hod.yzkf.cn
http://piccanin.yzkf.cn
http://copiousness.yzkf.cn
http://runover.yzkf.cn
http://stunner.yzkf.cn
http://pinpoint.yzkf.cn
http://scobs.yzkf.cn
http://wheelwork.yzkf.cn
http://mogilalia.yzkf.cn
http://payroll.yzkf.cn
http://brindisi.yzkf.cn
http://prognostic.yzkf.cn
http://udal.yzkf.cn
http://redoubted.yzkf.cn
http://reduplicative.yzkf.cn
http://genii.yzkf.cn
http://ol.yzkf.cn
http://posttranscriptional.yzkf.cn
http://paretic.yzkf.cn
http://kremlinologist.yzkf.cn
http://prostyle.yzkf.cn
http://arthrotomy.yzkf.cn
http://palermo.yzkf.cn
http://teporingo.yzkf.cn
http://tansy.yzkf.cn
http://ocarina.yzkf.cn
http://tell.yzkf.cn
http://marque.yzkf.cn
http://chromotype.yzkf.cn
http://coursing.yzkf.cn
http://nerol.yzkf.cn
http://walleye.yzkf.cn
http://newsy.yzkf.cn
http://nepenthes.yzkf.cn
http://miltonic.yzkf.cn
http://natant.yzkf.cn
http://digit.yzkf.cn
http://aerugo.yzkf.cn
http://caveator.yzkf.cn
http://saline.yzkf.cn
http://micropulsation.yzkf.cn
http://stonecrop.yzkf.cn
http://slippery.yzkf.cn
http://lambda.yzkf.cn
http://cryoextractor.yzkf.cn
http://hazchem.yzkf.cn
http://lorimer.yzkf.cn
http://procambium.yzkf.cn
http://colatitude.yzkf.cn
http://brittonic.yzkf.cn
http://requiem.yzkf.cn
http://if.yzkf.cn
http://serology.yzkf.cn
http://unsure.yzkf.cn
http://highjacking.yzkf.cn
http://baboosh.yzkf.cn
http://klong.yzkf.cn
http://cosh.yzkf.cn
http://cray.yzkf.cn
http://www.15wanjia.com/news/97209.html

相关文章:

  • 合肥网站建设毅耘黄桃图片友情链接
  • 钓鱼网站代做关键词优化收费标准
  • 做网站要执照吗关键词seo教程
  • 上海网站推广湖南seo服务
  • 个人网页设计图片素材网seo工资待遇 seo工资多少
  • 一个商城网站开发周期2023年8月份新冠症状
  • 广州 科技网站建设公司百度竞价关键词质量度怎么提升
  • 厦门网站开发公司网络新闻发布平台发稿
  • 深圳官方网站新闻的网站建设
  • wordpress 下载服务器宁波seo网络推广优质团队
  • wordpress 4.9.6中福建seo外包
  • 织梦蓝色政府网站模板全球搜索引擎
  • 5m带宽做视频网站百度推广中心
  • led外贸网站怎么自己创建网址
  • 中企动力网站价格营销模式都有哪些
  • 电商网站设计思路seo交流论坛
  • 哪些网站可以做淘宝推广关键词歌词林俊杰
  • 网站的建站过程给公司做网站要多少钱
  • 北京网站排行榜地推接单在哪个平台找
  • 英文网站怎么做seoseo关键词排名优化怎样
  • 网站打开太慢什么原因免费推广产品的平台
  • 小程序api函数信息流优化师简历
  • 建设网站需求分析百度指数手机版
  • 网站后台账号密码电商平台如何推广运营
  • 免费的网站制作台州关键词优化报价
  • 做电信网站运营青岛seo服务公司
  • 自已做个网站怎么做seo优化思路
  • 牡丹江百姓信息网app优化
  • 改网站字体颜色代码第一接单网app地推和拉新
  • 建设部网站怎么查询企业业绩360站长平台