【leetcode hot 100 230】二叉搜索树中第K小的元素

解法一:从小到大输出到list中,取list[k-1]就是第k小的元素

java 复制代码
/**
 * 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 {
    List<Integer> list = new ArrayList<>();

    public int kthSmallest(TreeNode root, int k) {
        // 从小到大输出到list中,取list[k-1]就是第k小的元素
        inoder(root);
        return list.get(k-1); 
    }

    public void inoder(TreeNode root){
        if(root==null){
            return;
        }
        inoder(root.left);
        list.add(root.val);
        inoder(root.right);
    }
}

注意:

  • list[k-1]是第k小的元素,而不是list[k]
相关推荐
黑屋里的马22 分钟前
java的设计模式之桥接模式(Bridge)
java·算法·桥接模式
sin_hielo27 分钟前
leetcode 1611
算法·leetcode
李小白杂货铺1 小时前
识别和破除信息茧房
算法·信息茧房·识别信息茧房·破除信息茧房·算法推荐型茧房·观点过滤型茧房·茧房
来荔枝一大筐1 小时前
C++ LeetCode 力扣刷题 541. 反转字符串 II
c++·算法·leetcode
暴风鱼划水2 小时前
算法题(Python)数组篇 | 6.区间和
python·算法·数组·区间和
zl_vslam2 小时前
SLAM中的非线性优-3D图优化之轴角在Opencv-PNP中的应用(一)
前端·人工智能·算法·计算机视觉·slam se2 非线性优化
是苏浙2 小时前
零基础入门C语言之C语言实现数据结构之顺序表应用
c语言·数据结构·算法
前端架构师-老李3 小时前
进入新岗位的第一课——潜龙勿用
职场和发展
lkbhua莱克瓦243 小时前
Java基础——常用算法3
java·数据结构·笔记·算法·github·排序算法·学习方法