leetcode230二叉树中第K小的元素

Posted lisin-lee-cooper

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode230二叉树中第K小的元素相关的知识,希望对你有一定的参考价值。

一.问题描述

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

输入:root = [3,1,4,null,2], k = 1
输出:1

二.示例代码

public class BSTKth230 {

    public static void main(String[] args) {

        TreeNode treeNode = new TreeNode(3);
        TreeNode treeNode2 = new TreeNode(1);
        TreeNode treeNode3 = new TreeNode(4);
        treeNode.left = treeNode2;
        treeNode.right = treeNode3;
        TreeNode treeNode4 = new TreeNode(2);
        treeNode2.right = treeNode4;
        int result = kthSmallest(treeNode, 1);
        System.out.println(result);

    }
    
    public static List<Integer> inorder(TreeNode root, List<Integer> arr) {
        if (root == null) {
            return arr;
        }
        inorder(root.left, arr);
        arr.add(root.val);
        inorder(root.right, arr);
        return arr;
    }

    public static int kthSmallest(TreeNode root, int k) {
        List<Integer> nums = inorder(root, new ArrayList<>());
        return nums.get(k - 1);
    }

}

以上是关于leetcode230二叉树中第K小的元素的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode233. 数字1的个数(数位dp)/1583. 统计不开心的朋友(模拟)/112. 路径总和 / 230. 二叉搜索树中第K小的元素 /968. 监控二叉树(树形dp)

leetcode打卡--230. 二叉搜索树中第K小的元素

LeetCode——230. 二叉搜索树中第K小的元素(Java)

leetcode 230二叉搜索树中第k小的元素

LeetCode 230. 二叉搜索树中第K小的元素 (平衡树)

LeetCode Java刷题笔记— 230. 二叉搜索树中第K小的元素