二叉搜索树中第K小的元素
js
// 中序遍历二叉搜索树的结果是递增的,所以采用中序遍历到k个节点,就是第k小的元素
var kthSmallest = function(root, k) {
let res = null
let index = 0
function rec(node) {
// 递归终止条件
if(node === null) return
// 递归左子树
rec(node.left)
// 根节点
if(++index === k) return res = node.val // 得到第k小的节点val
// 递归右子树
rec(node.right)
}
rec(root)
return res // 返回val
}