劍指Offer:二叉樹的鏡像
題目題目
操作給定的二叉樹,將其變換爲源二叉樹的鏡像。
8 / \ 6 10 / \ / \ 5 7 9 11 鏡像二叉樹 8 / \ 10 6 / \ / \ 11 9 7 5
題目分析
這道題我們要做的其實很簡單就是交換樹中所有節點的左右孩子位置。以根節點爲例,它有孩子,所以交換孩子的位置。這裏注意,只有要一個孩子都需要交換,無非是和NULL交換而已。
當然我們需要處理所有節點,故在處理完根節點之後,還需要把他的孩子再進行相同處理,這很明顯就是遞歸操作。
Java題解
public class Solution { 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; } } */