leetcode230.二叉搜索树中第k小的元素

标签:二叉搜索树;中序遍历

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

示例 1:

复制代码
输入:root = [3,1,4,null,2], k = 1
输出:1

示例 2:

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

提示: 树中的节点数为 n1 <= k <= n <= 104

**思路:**利用二叉搜索树中序遍历序列是升序序列性质

java 复制代码
    int i=0;
    int ret;
    public int kthSmallest(TreeNode root, int k) {
        inorderTraversal(root,k);
        return ret;
    }
    public void inorderTraversal(TreeNode root,int k) {
        if(root==null)
            return;
        inorderTraversal(root.left,k);
        i++;
        if(i==k)
            ret=root.val;
        inorderTraversal(root.right,k);
        return;
    }
相关推荐
Sun_light15 分钟前
队列:先进先出的线性数据结构及其应用
前端·javascript·算法
吕小鸣42 分钟前
Coze、Dify、FastGPT三大AI智能平台架构与能力对比
算法
jndingxin1 小时前
c++ 面试题(1)-----深度优先搜索(DFS)实现
c++·算法·深度优先
北极的树1 小时前
谁说AI只会模仿,从Google AlphaEvolve项目看算法的自主创新
人工智能·算法·gemini
Watink Cpper1 小时前
[灵感源于算法] 算法问题的优雅解法
linux·开发语言·数据结构·c++·算法·leetcode
-qOVOp-1 小时前
408第一季 - 数据结构 - 折半查找与二叉排序树
数据结构
随意0231 小时前
STL 3算法
开发语言·c++·算法
_风满楼2 小时前
如何优雅展示日历中的重叠日程?三步搞定复杂布局
前端·javascript·算法
এ᭄画画的北北3 小时前
力扣-35.搜索插入位置
数据结构·算法·leetcode
cylat3 小时前
Day23 pipeline管道
人工智能·python·算法·机器学习