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

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

题目:给定一个二叉搜索树的根节点 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);
    }
}

性能

相关文章:

  • MySQL自动备份脚本
  • 游戏引擎学习第120天
  • LeetCode刷题 -- 23. 合并 K 个升序链表
  • OO设计原则的cpp举例
  • centos 7 安装python3 及pycharm远程连接方法
  • 【信息系统项目管理师-案例真题】2009上半年案例分析答案和详解
  • 心理咨询小程序的未来发展
  • Java 面试合集(2024版)
  • 力扣3102.最小化曼哈顿距离
  • linux--多进程基础(2)GDB多进程调试(面试会问)
  • 大数据开发平台的框架
  • 一个不错的API测试框架——Karate
  • 【2025深度学习环境搭建-2】pytorch+Docker+VS Code+DevContainer搭建本地深度学习环境
  • JavaAPI(lambda表达式、流式编程)
  • echarts图表初始化搭建
  • 【数据结构进阶】哈希表
  • OpenSSL 生成非对称密钥对
  • 嵌入式科普(33)深度解析C语言中的const和volatile关键字
  • 浏览器跨域问题的原因分析及常见解决方案
  • flutter Column嵌套ListView高度自适应问题
  • 怎么看网站是哪个平台做的/做优化关键词
  • 动漫网站怎么做的/网络平台推广运营有哪些平台
  • 苏州园区人才网/宁波seo推广优化
  • up网络推广公司/东莞网站建设优化诊断
  • 电商排名/seo关键词优化推广外包
  • 怎样做网站流量/国外b站不收费免费2023