LeetCode 230.二叉搜索树中第K小的元素

news/2025/2/25 10:20:04/

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

思路

代码

/*** 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 {private int k;public int kthSmallest(TreeNode root, int k) {this.k = k;return dfs(root);}private int dfs(TreeNode root) {if (root == null)return -1;  // 题目保证节点值非负,用 -1 表示没有找到int leftRes = dfs(root.left);if (leftRes != -1)return leftRes;if (--k == 0)return root.val;return dfs(root.right);}
}

性能


http://www.ppmy.cn/news/1574822.html

相关文章

【DeepSeek系列】05 DeepSeek核心算法改进点总结

文章目录 一、DeepSeek概要二、4个重要改进点2.1 多头潜在注意力2.2 混合专家模型MoE2.3 多Token预测3.4 GRPO强化学习策略 三、2个重要思考3.1 大规模强化学习3.2 蒸馏方法:小模型也可以很强大 一、DeepSeek概要 2024年~2025年初,DeepSeek …

通俗理解Test time Scaling Law、RL Scaling Law和预训练Scaling Law

一、Scaling Law解释 1、预训练阶段的Scaling Law(打地基阶段) 通俗解释:就像建房子时,地基越大、材料越多、施工时间越长,房子就能盖得越高越稳。 核心:通过堆资源(算力、数据、模型参数&am…

uniapp使用uts插件启动原生安卓Service

uniapp使用uts插件启动原生安卓Service 背景实现尾巴 背景 在上一篇文章中uniapp使用uts插件调用原生API,我们使用uts插件来实现了一个简单的例子来调用原生安卓平台的Toast。今天我们继续使用uts插件来实现一个稍微复杂点的例子,启动一个原生安卓平台的…

【Kafka系列】Kafka 消息传递保障机制

Kafka 消息传递保障机制 在现代分布式系统中,消息队列扮演着至关重要的角色。Kafka 作为一款高性能、高吞吐量的消息队列系统,提供了多种消息传递保障机制来满足不同的业务需求。本文将详细介绍 Kafka 的三种主要消息传递保障机制:最多一次&a…

Springboot + Ollama + IDEA + DeepSeek 搭建本地deepseek简单调用示例

1. 版本说明 springboot 版本 3.3.8 Java 版本 17 spring-ai 版本 1.0.0-M5 deepseek 模型 deepseek-r1:7b 需要注意一下Ollama的使用版本: 2. springboot项目搭建 可以集成在自己的项目里,也可以到 spring.io 生成一个项目 生成的话,如下…

halcon三维点云数据处理(十一)measure_plant

目录 一、如何分割叶子二、如何确定叶片的角度分布三、如何用公制单位估算叶子的面积四、如何估计树干的直径五、如何分析叶片的角度这个例子展示了如何在3D中测量植物的一些特征。 一、如何分割叶子 ‘num_neighbors_fast X’: 在距离不超过X的范围内,邻近点的近似数量 1、分…

Linux第三讲----用户权限(二)

由于一些原因,我将centos更换为了ubuntu,但是这些指令的操作都是一样的! 在上一篇文章中,我们已经了解了基本的权限操作,在此篇文章中,我们将继续深入探讨下权限! 一、理论理解 1.Linux下一…

CVE-2024-38819:Spring 框架路径遍历 PoC 漏洞复现

操作: 根据CVE-2024-38819:Spring 框架路径遍历 PoC 漏洞搭建复现的靶场环境 拿到环境的源码使用docker搭建 cd vuln创建容器并启动 docker build -t cve-2024-38819-poc .docker run -d -p 8080:8080 --name cve-2024-38819-poc cve-2024-38819-poc注…