zoukankan      html  css  js  c++  java
  • [LC] 230. Kth Smallest Element in a BST

    Given a binary search tree, write a function kthSmallest to find the kth smallest element in it.

    Note:
    You may assume k is always valid, 1 ≤ k ≤ BST's total elements.

    Example 1:

    Input: root = [3,1,4,null,2], k = 1
       3
      / 
     1   4
      
       2
    Output: 1

    Example 2:

    Input: root = [5,3,6,2,4,null,null,1], k = 3
           5
          / 
         3   6
        / 
       2   4
      /
     1
    Output: 3

     1 /**
     2  * Definition for a binary tree node.
     3  * public class TreeNode {
     4  *     int val;
     5  *     TreeNode left;
     6  *     TreeNode right;
     7  *     TreeNode(int x) { val = x; }
     8  * }
     9  */
    10 class Solution {
    11     int res;
    12     int count;
    13     public int kthSmallest(TreeNode root, int k) {
    14         res = 0;
    15         count = k;
    16         inOrder(root);
    17         return res;
    18     }
    19     
    20     private void inOrder(TreeNode root) {
    21         if (root == null) {
    22             return;
    23         }
    24         inOrder(root.left);
    25         count -= 1;
    26         if (count == 0) {
    27             res = root.val;
    28             return;
    29         }
    30         inOrder(root.right);
    31     }
    32 }
  • 相关阅读:
    排查oom方法
    逃逸分析-栈上分配
    java堆是分配对象的唯一选择吗
    GC
    jvm为什么把-Xms和-Xmx的值设置成一样
    java堆
    java为何使用native 方法
    linux top命令信息详解
    java定位系统性能问题
    struts 初体验
  • 原文地址:https://www.cnblogs.com/xuanlu/p/12000770.html
Copyright © 2011-2022 走看看