230. Kth Smallest Element in a BST
https://leetcode.com/problems/kth-smallest-element-in-a-bst/
js
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @param {number} k
* @return {number}
*/
var kthSmallest = function(root, k) {
const result = inorderTraversal(root)
return result[k - 1]
};
function inorderTraversal(root, nodes, k) {
if (!root) {
return []
}
let result = []
result = result.concat(inorderTraversal(root.left))
result.push(root.val)
result = result.concat(inorderTraversal(root.right))
return result
}
js
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @param {number} k
* @return {number}
*/
var kthSmallest = function(root, k) {
const result = []
const stack = []
let current = root
while (current || stack.length) {
while (current) {
stack.push(current)
current = current.left
}
current = stack.pop()
result.push(current.val)
if (result.length === k) {
return result[k - 1]
}
current = current.right
}
};