230. 二叉搜索树中第K小的元素

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

链接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
let rank = 0
let res = 0
function kthSmallest(root: TreeNode | null, k: number): number {
rank = 0
res = 0
traverse(root, k)
return res
};

function traverse(root: TreeNode, k: number) {
if (root === null) return
traverse(root.left, k)
rank++
if (rank === k) {
res = root.val
return
}
traverse(root.right, k)
}