Skip to content

Kth Smallest in BST

LeetCode

01 · Question

Return the k-th smallest value in a BST.

02 · Solution

Reference solution

1def kthSmallest(root: Optional[TreeNode], k: int) -> int:
2 stack = []
3 cur = root
4 while cur or stack:
5 while cur:
6 stack.append(cur)
7 cur = cur.left
8 cur = stack.pop()
9 k -= 1
10 if k == 0:
11 return cur.val
12 cur = cur.right
13 return -1