思路,遍历二叉树添加到数组,取已排序的数组中k-1位的元素即为第k小
小细节:利用二叉搜索树性质进行递归添加即自动排序
var kthSmallest = function(root, k) {
const arr = [];
let dfs = function(root){
if(!root) return;
//小细节,利用短路特性,如果left为空,则不再递归调用,防止空指针异常同时优化效率
root.left && dfs(root.left);
arr.push(root.val);
root.right && dfs(root.right);
}
return arr[k-1];
}
二叉搜索树中第K小的元素
最新推荐文章于 2024-10-02 23:40:03 发布