이진 트리의 좌우 노드를 서로 교환(swap)하여 문제를 해결할 수 있다. 루트노드의 좌우 노드 포인터를 SWAP하고, 계속 하위 레벨 노드들에 대해 Recursion을 사용하여 교환할 수 있다.
void MirrorTree(TreeNode t) { if (t == null || (t.Left == null && t.Right == null)) return; var temp = t.Left; t.Left = t.Right; t.Right = temp; MirrorTree(t.Left); MirrorTree(t.Right); }