LeetCode(230):二叉树中的第K小元素
题目描述
![image-20201108113401766](https://i.loli.net/2020/11/08/eFkpqQSZyE5fW2K.png)
解题思路
二叉搜索树的性质是:左子节点<根节点<右子节点
利用这个性质,我们可以通过中序遍历,将节点从小到大推入数组中
当数组长度大于k时,停止遍历,直接返回数组的尾部元素即可
代码实现(Javascript)
/**
* @param {TreeNode} root
* @param {number} k
* @return {number}
*/
var kthSmallest = function(root, k) {
if(!root.left && !root.right){
return root.val
}
let res = new Array()
const inorder=function(node){
if(!node){
return null
}
inorder(node.left)
if(res.length < k){
res.push(node.val)
}else{
return
}
inorder(node.right)
}
inorder(root)
return res[res.length-1]
}