題目描述
操作給定的二叉樹,將其變換爲源二叉樹的鏡像。
二叉樹的鏡像定義:源二叉樹
8
/ \
6 10
/ \ / \
5 7 9 11
鏡像二叉樹
8
/ \
10 6
/ \ / \
11 9 7 5
思路:
由定義可知:一顆叔的鏡像=root節點交換左右子樹+再分別對左右子樹求鏡像。
由此:遞歸求解。
public void Mirror(TreeNode root) {
if(root == null)
return ;
TreeNode tmp = root.left;
root.left = root.right;
root.right = tmp;
Mirror(root.left);
Mirror(root.right);
}
樹節點的定義如下:
class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}