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;
    }
相关推荐
金融小师妹2 小时前
基于哈塞特独立性表态的AI量化研究:美联储政策独立性的多维验证
大数据·人工智能·算法
纪元A梦5 小时前
贪心算法应用:化工反应器调度问题详解
算法·贪心算法
阿让啊5 小时前
C语言strtol 函数使用方法
c语言·数据结构·c++·单片机·嵌入式硬件
深圳市快瞳科技有限公司5 小时前
小场景大市场:猫狗识别算法在宠物智能设备中的应用
算法·计算机视觉·宠物
liulilittle6 小时前
OPENPPP2 —— IP标准校验和算法深度剖析:从原理到SSE2优化实现
网络·c++·网络协议·tcp/ip·算法·ip·通信
superlls8 小时前
(算法 哈希表)【LeetCode 349】两个数组的交集 思路笔记自留
java·数据结构·算法
田里的水稻9 小时前
C++_队列编码实例,从末端添加对象,同时把头部的对象剔除掉,中的队列长度为设置长度NUM_OBJ
java·c++·算法
纪元A梦9 小时前
贪心算法应用:保险理赔调度问题详解
算法·贪心算法
Ripple1231210 小时前
数据结构:顺序表与链表
数据结构·链表
Jayden_Ruan10 小时前
C++逆向输出一个字符串(三)
开发语言·c++·算法