To reverse a binary tree in JavaScript, you can use a recursive function that traverses the tree in the opposite order. The basic idea is to traverse the tree in post-order, meaning that you first visit the left and right subtrees, and then the root node.
Here is one possible implementation:
function reverseTree(node) {
if (node === null) {
return;
}
// Reverse the left and right subtrees
reverseTree(node.left);
reverseTree(node.right);
// Swap the left and right subtrees
[node.left, node.right] = [node.right, node.left];
}
This function can be called on the root node of the tree to reverse the entire tree. It works by recursively reversing the left and right subtrees of the current node, and then swapping the left and right subtrees of the current node. This effectively reverses the structure of the subtree rooted at the current node.