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