小景哥哥

世界很大,而我们还需要再成长!

您现在的位置是:首页>爱编程>详细内容

二叉树的镜像

发布时间:2018-08-13 00:00:00编辑:Jason浏览(360)评论(0)

    18.二叉树的镜像
     
    题目描述
    操作给定的二叉树,将其变换为源二叉树的镜像。
    输入描述:
    二叉树的镜像定义:源二叉树 
            8
           /  \
          6   10
          / \  / \
        5  7 9 11
        镜像二叉树
            8
           /  \
         10   6
          / \  / \
       11 9 7  5
    解题思路:采用递归。递归交换左右子树,直到左右子树都为空,此时也就是树的叶子结点。
     
    public class TreeNode {
        int val = 0;
        TreeNode left = null;
        TreeNode right = null;
        public TreeNode(int val) {
            this.val = val;
        }
    }
    public class Solution {
        public void Mirror(TreeNode root) {
            LRMirror(root);
        }
        public TreeNode LRMirror(TreeNode root){
            if(root == null)
                return root;
            TreeNode temp = root.left;
            root.left = LRMirror(root.right);
            root.right = LRMirror(temp);
            return root;
        }
    }

关键字词:offer

上一篇:树的子结构

下一篇:顺时针打印矩阵