この解答例は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