剑指Offer-镜像二叉树

镜像二叉树

题目

操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:源二叉树
8
/  \
6   10
/ \  / \
5  7 9 11
镜像二叉树
8
/  \
10   6
/ \  / \
11 9 7  5

思路

递归

代码

public class Mirror {
    public class TreeNode {
        int val = 0;
        TreeNode left = null;
        TreeNode right = null;

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

        }

    }

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

            if (root.right==null&&root.left==null){
                return;
            }

            TreeNode temp = root.left;
            root.left = root.right;
            root.right = temp;//交换
            if (root.left!=null){
                Mirror(root.left);
            }

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

        }
}
0%