class TreeNode {
constructor(value) {
this.value = value;
this.left = null;
this.right = null;
}
}
// Function to find the next node in postorder traversal
function findNextNodeInPostorder(root, value) {
let lastVisited = null;
let nextNode = null;
let found = false;
function traverse(node) {
if (node === null || found) {
return;
}
traverse(node.left);
traverse(node.right);
// Check if the last visited node is the one we're looking for
if (lastVisited && lastVisited.value === value) {
nextNode = node;
found = true;
return;
}
lastVisited = node;
}
traverse(root);
return nextNode ? nextNode.value : null;
}