この解答例はChatGPTによって生成されています,正しいかは自己判断で。

BFE.devでのAI解答例 - JavaScript コーディング問題
91. バイナリツリーの反転

以下は、JavaScriptで実装したバイナリツリーの反転のコードです。

function invertTree(root) {
  if (root === null) {
    return null;
  }

  const temp = root.left;
  root.left = root.right;
  root.right = temp;

  invertTree(root.left);
  invertTree(root.right);

  return root;
}

このコードでは、与えられた根(root)を中心に、左右の子孫を交換することで、バイナリーツリーを反転させています。最初にnullの場合をハンドリングし、それ以外の場合は再帰を使用して左右のsubtreeのvalueを交換しています。最後に、新しい根を返します。

例えば、以下のようなバイナリーツリー

     4
   /   \
  2     7
 / \   / \
1   3 6   9

は、このコードによって以下のように反転させられます。

     4
   /   \
  7     2
 / \   / \
9   6 3   1