牛客(18)二叉树的镜像

//    题目描述
//    操作给定的二叉树,将其变换为源二叉树的镜像。
//    输入描述:
//    二叉树的镜像定义:源二叉树
//                        8
//                    /  \
//                   6   10
//                 / \  / \
//                5  7 9 11
//    镜像二叉树
//                         8
//                     /  \
//                    10   6
//                   / \  / \
//                  11 9 7  5
    public static class TreeNode {
        int val = 0;
        TreeNode left = null;
        TreeNode right = null;

        public TreeNode(int val) {
            this.val = val;

        }

    }

    public static void Mirror(TreeNode root) {
        if (root==null){
            return;
        }
        if (root.right==null&&root.left==null){
            return;
        }
        TreeNode treeNode = root.left;
        root.left=root.right;
        root.right=treeNode;

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

    }

 

posted @ 2018-05-07 14:54  楷兵  阅读(109)  评论(0编辑  收藏  举报