力扣面试150题--二叉搜索树中第k小的元素

news2025/6/7 3:38:46

Day 58

题目描述

在这里插入图片描述

思路

直接采取中序遍历,不过我们将k参与到中序遍历中,遍历到第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 {
    int x=1;
    int num;
    public void mid(TreeNode root,int k){
        if(root==null||x>k){
            return;
        }
        mid(root.left,k);
        if(x==k){
            num=root.val;
        }
        x++;
        mid(root.right,k);
    }
    public int kthSmallest(TreeNode root, int k) {
        mid(root,k);
        return num;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2401038.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQL Server Agent 不可用怎么办?

在 SQL Server Management Studio (SSMS) 中,SQL Server Agent 通常位于对象资源管理器(Object Explorer)的树形结构中,作为 SQL Server 实例的子节点。以下是详细说明和可能的原因: 1. SQL Server Agent 的位置 默认路…

css-塞贝尔曲线

文章目录 1、定义2、使用和解释 1、定义 cubic-bezier() 函数定义了一个贝塞尔曲线(Cubic Bezier)语法:cubic-bezier(x1,y1,x2,y2) 2、使用和解释 x1,y1,x2,y2,表示两个点的坐标P1(x1,y1),P2(x2,y2)将以一条直线放在范围只有 1 的坐标轴中,并…

docker使用proxy拉取镜像

前提条件,宿主机可以访问docker hub 虚拟机上telnet 宿主机7890能正常访问 下面的才是关键,上面部分自己想办法~ 3. 编辑 /etc/docker/daemon.json {"proxies": {"http-proxy": "http://192.168.100.1:7890","ht…

服务端定时器的学习(一)

一、定时器 1、定时器是什么? 定时器不仅存在于硬件领域,在软件层面(客户端、网页和服务端)也普遍应用,核心功能都是高效管理大量延时任务。不同应用场景下,其实现方式和使用方法有所差异。 2、定时器解…

Modbus转EtherNET IP网关开启节能改造新范式

在现代工业生产和能源管理中,无锡耐特森Modbus转EtherNET IP网关MCN-EN3001发挥着至关重要的作用。通过将传统的串行通信协议Modbus转换为基于以太网的EtherNET IP协议,这种网关设备不仅提高了数据传输的效率,而且为能源管理和控制系统的现代…

C#入门学习笔记 #7(传值/引用/输出/数组/具名/可选参数、扩展方法(this参数))

欢迎进入这篇文章,文章内容为学习C#过程中做的笔记,可能有些内容的逻辑衔接不是很连贯,但还是决定分享出来,由衷的希望可以帮助到你。 笔记内容会持续更新~~ 本篇介绍各种参数,参数本质上属于方法的一部分,所以本篇算是对方法更深度的学习。本章难度较大... 传值参数 …

【DeepSeek】【Dify】:用 Dify 对话流+标题关键词注入,让 RAG 准确率飞跃

1 构建对话流处理数据 初始准备 文章大纲摘要 数据标注和清洗 代码执行 特别注解 2 对话流测试 准备工作 大纲生成 清洗片段 整合分段 3 构建知识库 构建 召回测试 4 实战应用测试 关键词提取 智能总结 测试 1 构建对话流处理数据 初始准备 构建对话变量 用…

yFiles:专业级图可视化终极解决方案

以下是对yFiles的详细介绍,结合其定义、功能、技术特点、应用场景及行业评价等多维度分析: 一、yFiles的定义与核心定位 yFiles是由德国公司yWorks GmbH开发的 动态图与网络可视化软件开发工具包(SDK) ,专注于帮助用户将复杂数据转化为交互式图表。其核心价值在于提供跨平…

VSCode 工作区配置文件通用模板创建脚本

下面是分别使用 Python 和 Shell(Bash)脚本 自动生成 .vscode 文件夹及其三个核心配置文件(settings.json、tasks.json、launch.json)的完整示例。 你可以选择你熟悉的语言版本来使用,非常适合自动化项目初始化流程。…

echarts显示/隐藏标签的同时,始终显示饼图中间文字

显示标签的同时,始终显示饼图中间文字 let _data this.chartData.slice(1).map((item) > ({name: item.productName,value: Number(item.stock), })); this.chart.setOption({tooltip: {trigger: item,},graphic: { // 重点在这里(显示饼图中间文字&…

SpringBoot关于文件上传超出大小限制--设置了全局异常但是没有正常捕获的情况+捕获后没有正常响应返给前端

项目背景 一个档案管理系统,在上传比较大的文件时由于系统设置的文件大小受限导致文件上传不了,这时候设置的异常捕捉未能正常报错导致前端页面一直在转圈,实际上后端早已校验完成。 全局异常类设置的捕捉 添加了ControllerAdvice以及RestCon…

【Go语言】Ebiten游戏库开发者文档 (v2.8.8)

1. 简介 欢迎来到 Ebiten (现已更名为 Ebitengine) 的世界!Ebiten 是一个使用 Go 语言编写的开源、极其简洁的 2D 游戏库(或称为游戏引擎)。它由 Hajime Hoshi 发起并主要维护,旨在提供一套简单直观的 API,让开发者能…

实验设计与分析(第6版,Montgomery著,傅珏生译) 第9章三水平和混合水平析因设计与分式析因设计9.5节思考题9.1 R语言解题

本文是实验设计与分析&#xff08;第6版&#xff0c;Montgomery著&#xff0c;傅珏生译) 第9章三水平和混合水平析因设计与分式析因设计9.5节思考题9.1 R语言解题。主要涉及方差分析。 YieldDesign <-expand.grid(A gl(3, 1, labels c("-", "0","…

Pycharm 配置解释器

今天更新了一版pycharm&#xff0c;因为很久没有配置解释器了&#xff0c;发现一直失败。经过来回试了几次终于成功了&#xff0c;记录一下过程。 Step 1 Step 2 这里第二步一定要注意类型要选择python 而不是conda。 虽然我的解释器是conda 里面建立的一个环境。挺有意思的

web第八次课后作业--分层解耦

一、分层 Controller&#xff1a;控制层。接收前端发送的请求&#xff0c;对请求进行处理&#xff0c;并响应数据。Service&#xff1a;业务逻辑层。处理具体的业务逻辑。Dao&#xff1a;数据访问层(Data Access Object)&#xff0c;也称为持久层。负责数据访问操作&#xff0…

【图片自动识别改名】识别图片中的文字并批量改名的工具,根据文字对图片批量改名,基于QT和腾讯OCR识别的实现方案

现在的工作单位经常搞一些意义不明的绩效工作&#xff0c;每个月都搞来一万多张图片让我们挨个打开对应图片上的名字进行改名操作以方便公司领导进行检查和搜索调阅&#xff0c;图片上面的内容有数字和文字&#xff0c;数字没有特殊意义不做识别&#xff0c;文字有手写的和手机…

20-项目部署(Docker)

在昨天的课程中&#xff0c;我们学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目。大家想一想自己最大的感受是什么&#xff1f; 我相信&#xff0c;除了个别天赋异禀的同学以外&#xff0c;大多数同学都会有相同的…

零基础安装 Python 教程:从下载到环境配置一步到位(支持 VSCode 和 PyCharm)与常用操作系统操作指南

零基础安装 Python 教程&#xff1a;从下载到环境配置一步到位&#xff08;支持 VSCode 和 PyCharm&#xff09;与常用操作系统操作指南 本文是一篇超详细“Python安装教程”&#xff0c;覆盖Windows、macOS、Linux三大操作系统的Python安装方法与环境配置&#xff0c;包括Pyt…

SAP学习笔记 - 开发18 - 前端Fiori开发 应用描述符(manifest.json)的用途

上一章讲了 Component配置&#xff08;组件化&#xff09;。 本章继续讲Fiori的知识。 目录 1&#xff0c;应用描述符(Descriptor for Applications) 1&#xff09;&#xff0c; manifest.json 2&#xff09;&#xff0c;index.html 3&#xff09;&#xff0c;Component.…

一键试衣,6G显存可跑

发现一个好玩的一键换衣的工作流&#xff0c;推荐给大家。 https://github.com/chflame163/ComfyUI_CatVTON_Wrapper 作者参考的是开源项目&#xff0c;做成了工作流形式。 https://github.com/Zheng-Chong/CatVTON 先来看下效果&#xff0c;使用动画人物也可换衣&#xff…