二叉树的镜像
题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:源二叉树
8
/ \
6 10
/ \ / \
5 7 9 11
镜像二叉树
8
/ \
10 6
/ \ / \
11 9 7 5
解题思路
遇到二叉树问题,就会想到递归。镜像问题,可以看出,从根节点左右子节点开始,都是左右子树交换。因此可以使用递归,从左右子树开始,一直到叶子结点,进行交换。
实现代码
public void Mirror(TreeNode root){
if(root == null)
return;
if(root.left==null&& root.right==null)
return;
TreeNode temp = null;
temp = root.right;
root.right = root.left;
root.left = temp;
if(root.left!=null)
Mirror(root.left);
if(root.right!=null)
Mirror(root.right);
}