二叉树的镜像

二叉树的镜像:所谓镜像就是从树中间劈开后,两半一样,这就是镜像二叉树

代码实现的时候:从上面的最大的节点向下开始,先交换root下面的两个大的左右子树,大体位置交换之后,在递归交换每一个小的子树,直到交换叶子节点,就完成了

看完后可以感受一下一篇:对称的二叉树

代码:

在交换两个节点,采用就是交换两个变量的值那样交换,通过中间变量来交换

/**
 * 二叉树的镜像
 */
public class Main {

    public void MirrorRecursively(TreeNode root){
        if(root==null){
            return ;
        }
        TreeNode tmp=root.left;
        root.left=root.right;
        root.right=tmp;
        MirrorRecursively(root.left);
        MirrorRecursively(root.right);
    }
}
class TreeNode{
    int data;
    TreeNode left;
    TreeNode right;
    TreeNode(int data){
        this.data=data;
        this.left=null;
        this.right=null;
    }
}

 

posted @ 2019-09-14 20:01  _SpringCloud  阅读(6)  评论(0编辑  收藏  举报  来源