kth_smallest_element_in_a_bst

package
v1.4.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 2, 2019 License: MIT Imports: 0 Imported by: 0

README

< Previous                  Next >

230. Kth Smallest Element in a BST (Medium)

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

Follow up:
What if the BST is modified (insert/delete operations) often and you need to find the kth smallest frequently? How would you optimize the kthSmallest routine?

[Tree] [Binary Search]

Similar Questions

  1. Binary Tree Inorder Traversal (Medium)
  2. Second Minimum Node In a Binary Tree (Easy)

Hints

Hint 1 Try to utilize the property of a BST.
Hint 2 Try in-order traversal. (Credits to @chan13)
Hint 3 What if you could modify the BST node's structure?
Hint 4 The optimal runtime complexity is O(height of BST).

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL