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;
    }
相关推荐
Σίσυφος190016 小时前
PCL Point-to-Point ICP详解
人工智能·算法
you-_ling16 小时前
数据结构:4.二叉树
数据结构
玄〤16 小时前
Java 大数据量输入输出优化方案详解:从 Scanner 到手写快读(含漫画解析)
java·开发语言·笔记·算法
weixin_3954489116 小时前
main.c_cursor_0202
前端·网络·算法
senijusene16 小时前
数据结构与算法:队列与树形结构详细总结
开发语言·数据结构·算法
青桔柠薯片16 小时前
数据结构:队列,二叉树
数据结构
杜家老五16 小时前
综合实力与专业服务深度解析 2026北京网站制作公司六大优选
数据结构·算法·线性回归·启发式算法·模拟退火算法
寄存器漫游者17 小时前
数据结构:带头节点单链表
c语言·数据结构
2301_7657031417 小时前
C++与自动驾驶系统
开发语言·c++·算法
Ll130452529817 小时前
Leetcode二叉树 part1
b树·算法·leetcode