230. 二叉搜索树中第K小的元素 --力扣 --JAVA

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

 题目

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

解题思路

    1. 利用List存储数据;
    2. 遍历整个树,读取数各个节点的value;
    3. 对value进行排序,获取第k个最小值。

    代码展示

    class Solution {
        private List<Integer> list = new ArrayList<>();
        public int kthSmallest(TreeNode root, int k) {
            getVal(root);
            list.sort(null);
            return list.get(k - 1);
        }
        private void getVal(TreeNode root){
            if(root == null){
                return;
            }
            list.add(root.val);
            getVal(root.left);
            getVal(root.right);
        }
    }

    image.gif


    目录
    相关文章
    |
    5天前
    leetcode代码记录(下一个更大元素 II
    leetcode代码记录(下一个更大元素 II
    7 0
    |
    5天前
    |
    索引
    leetcode代码记录(下一个更大元素 I
    leetcode代码记录(下一个更大元素 I
    7 0
    |
    6天前
    leetcode代码记录(不同的二叉搜索树
    leetcode代码记录(不同的二叉搜索树
    7 0
    |
    6天前
    leetcode代码记录(移除链表元素
    leetcode代码记录(移除链表元素
    10 0
    |
    6天前
    leetcode代码记录(移除元素
    leetcode代码记录(移除元素
    9 0
    |
    12天前
    |
    XML 前端开发 Oracle
    16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
    16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
    14 2
    |
    14天前
    |
    安全 Java
    循环的时候去删除集合中的元素 java.util.ConcurrentModificationException
    循环的时候去删除集合中的元素 java.util.ConcurrentModificationException
    |
    14天前
    |
    Java
    java Map删除值为null的元素
    java Map删除值为null的元素
    |
    15天前
    |
    Java API
    【亮剑】三种有效的方法来删除List中的重复元素Java的List
    【4月更文挑战第30天】本文介绍了三种Java中删除List重复元素的方法:1) 使用HashSet,借助其不允许重复值的特性;2) 利用Java 8 Stream API的distinct()方法;3) 对自定义对象重写equals()和hashCode()。每种方法都附带了代码示例,帮助理解和应用。
    |
    20天前
    [leetcode~dfs]1261. 在受污染的二叉树中查找元素
    [leetcode~dfs]1261. 在受污染的二叉树中查找元素
    [leetcode~dfs]1261. 在受污染的二叉树中查找元素