剑指offer_二叉树---二叉树的镜像

题目描述

操作给定的二叉树,将其变换为源二叉树的镜像。

输入描述

二叉树的镜像定义:

  源二叉树 
            8
           /  \           6   10
         / \  / \         5  7 9 11
 镜像二叉树
            8
           /  \           10   6
         / \  / \         11 9 7  5

解题思路

1,交换左右子树
2,递归交换左右子树的左右子节点

代码

/** * */
package offerTest;

/** * <p> * Title:Mirror * </p> * <p> * Description: * </p> * * @author 田茂林 * @data 2017年8月20日 下午9:07:06 */
public class Mirror {
    public void Mirrors(TreeNode root) {
        if (root == null || root.left == null && root.right == null){
        //为了保证代码的严谨性,这里最好加上左右子节点不能都为null
            return;
        }
        // 交换根的左右子节点
        TreeNode temp = root.left;
        root.left = root.right;
        root.right = temp;
        // 递归交换根的左右子树
        if (root.left != null)
            Mirrors(root.left);
        if (root.right != null)
            Mirrors(root.right);

    }

    public static void main(String[] args) {

    }

}

全部评论

相关推荐

学历算污点吗?
小何和:快毕业了,BOSS上的od闻着味就来了
点赞 评论 收藏
分享
frutiger:逆天,我家就安阳的,这hr咋能说3k的,你送外卖不比这工资高得多?还说大厂来的6k,打发叫花子的呢?这hr是怎么做到说昧良心的话的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务