題目:請完成一個函數,輸入一個二叉樹,該函數輸出它的鏡像
如圖所示:右邊的二叉樹就是左邊的樹的鏡像
上述樹求鏡像的步驟如下:我們先前序遍歷這個樹的每個結點,如果遍歷到的結點有子結點,就交換它的兩個子結點。當交換完所有非葉子結點的左右子結點之後,就得到了樹的鏡像。
public void MirrorRecursively(BinaryTreeNode node){
if(node == null)
return;
if(node.leftNode == null && node.rightNode == null)
return;
BinaryTreeNode temp = node.leftNode;
node.leftNode = node.rightNode;
node.rightNode = temp;
if(node.leftNode != null)
MirrorRecursively(node.leftNode);
if(node.rightNode != null)
MirrorRecursively(node.rightNode);
}