二叉樹的鏡像
題目描述
操作給定的二叉樹,將其變換為源二叉樹的鏡像。
相關知識
二叉樹的鏡像定義:
源二叉樹
圖片.png
鏡像二叉樹
圖片.png
思路
- 有關二叉樹的算法問題,一般都可以通過遞歸來解決。那么寫一個正確的遞歸程序,首先一定要分析正確遞歸結束的條件。
- 先前序遍歷這棵樹的每個結點,如果遍歷到的結點有子結點,就交換它的兩個子節點;
- 當交換完所有的非葉子結點的左右子結點之后,就得到了樹的鏡像
實現代碼
/* function TreeNode(x) {
this.val = x;
this.left = null;
this.right = null;
} */
function Mirror(root)
{
if(root === null) {
return;
}
var temp = root.left;
root.left = root.right;
root.right = temp;
Mirror(root.left);
Mirror(root.right);
}