Find Kth Largest Value In BST
Find Kth Largest Value In BST
// This is an input class. Do not edit.
class BST {
constructor(value) {
this.value = value;
this.left = null;
this.right = null;
}
}
// O(n) time | O(n) space
function findKthLargestValueInBst(tree, k) {
const sortedNodeValues = [];
inOrderTraverse(tree, sortedNodeValues);
return sortedNodeValues[sortedNodeValues.length - k];
}
function inOrderTraverse(node, sortedNodeValues) {
if (node === null) return;
inOrderTraverse(node.left, sortedNodeValues);
sortedNodeValues.push(node.value);
inOrderTraverse(node.right, sortedNodeValues);
}
// Do not edit the lines below.
exports.BST = BST;
exports.findKthLargestValueInBst = findKthLargestValueInBst;
Last updated