Find Successor

n, n
// This is an input class. Do not edit.
class BinaryTree {
constructor(value) {
this.value = value;
this.left = null;
this.right = null;
this.parent = null;
}
}
function findSuccessor(tree, node) {
const arr = [];
traverseHelper(tree, node, arr);
// console.log(arr, node.value);
for (let i = 0; i < arr.length; i++) {
if (arr[i].value !== node.value) continue;
return arr[i + 1];
}
return null;
}
function traverseHelper(tree, node, arr) {
if (tree === null) {
return;
}
traverseHelper(tree.left, node, arr);
arr.push(tree);
traverseHelper(tree.right, node, arr);
return;
}
// Do not edit the lines below.
exports.BinaryTree = BinaryTree;
exports.findSuccessor = findSuccessor;h, 1 ( left node or parent node of right)
Last updated