二叉树的镜像

题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:源二叉树
8
/
6 10
/ \ /
5 7 9 11
镜像二叉树
8
/
10 6
/ \ /
11 9 7 5
思路:
就是一个临时变量temp进行左右交换,然后在利用递归的方式进行依次交换,根据题目的特性我们可以选择前序遍历的方式进行递归.
代码:

public class Mirror
{
    public void mirror(TreeNode root){
        if(root == null)
          return;

        change(root);
        if(root.left != null)
            change(root.left);
        if(root.right != null)
            change(root.right);
    }

    private void change(TreeNode node){
        TreeNode temp = node.left;
        node.left = node.right;
        node.right = temp;
    }

}

你可能感兴趣的:(二叉树的镜像)