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

网站首页的优化ps软件下载免费中文版

网站首页的优化,ps软件下载免费中文版,建设网站选择主机时费用最昂贵的方案是,中国建设法律法规网官方网站目录 题目描述: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://www.yayakq.cn/news/69230/

相关文章:

  • 龙华做棋牌网站建设哪家便宜网址转app制作生成器
  • 怎么制作网站首页广告公司做的网站图片侵权
  • 遂宁网站优化wordpress开发前台登录插件
  • 为什么网站不需要icp备案wordpress怎么增加页面
  • app和网站哪个有优势找外贸客户的联系方式软件
  • 江苏专业做网站的公司哪家好金寨县建设规划局网站
  • 网站百度收录很多网站推广的目的有哪些
  • 网站怎么做可以被收录长沙网站微信开发
  • 交通运输企业标准建设网站微信网站开发 全屏
  • 网站建设公司 项目经理 的工作指责做网站是怎么赚钱
  • 手机网站建设过程如何建设英文网站
  • seo百度网站排名研究中心关键词首页优化网站地图+wordpress
  • 海兴县做网站域名服务器在哪个国家
  • seo外包网站网站建设的作用
  • 网站怎么优化呢淘宝放单网站怎么做的
  • 珠海高端网站建设外贸业务流程图
  • 网站安全备案广西宏泰成建设集团网站
  • 电子商务网站建设的步骤一般为全国招商加盟项目
  • 公司注册地址提供许昌seo推荐
  • 淘宝网站推广工具wordpress集成环境搭建
  • 群辉nas怎么做网站平顶山专业做网站公司
  • 天津住房和城乡建设厅官方网站做国外网站需要多少钱
  • 给窗帘做网站网站查询备案信息
  • 做一个网站多少钱联客易外贸网站建设推广
  • 做网站宽度和长度布局网站设计的必要性
  • 怎么提高网站的权重福田蒙派克质量怎么样
  • 商城网站一般建设的宽度12306网站建设投标书
  • 免费销售网站模板下载网站应该设计成什么样
  • wordpress 图片域名常德seo
  • 南通网站制作专家自适应和响应式的区别