码迷,mamicode.com
首页 > 其他好文 > 详细

二叉树的镜像

时间:2015-07-23 00:41:39      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:剑指offer

题目描述:

操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:
源二叉树 :

        8
       /        6   10
     / \  /     5  7 9 11

镜像二叉树:

        8
       /        10   6
     / \  /     11 9 7  5

思路:
所谓的镜像,就是交换每一个节点的左子树和右子树。
所以依次递归每一个节点,交换左右子树即可。
步骤:

1、     8                      8
       /  \                   /       6   10        ==》     10  6
     / \  / \              / \  /     5  7 9 11             9  11 5  7

2、
        8                      8
       /  \                   /       10   6        ==》     10  6
     / \  / \              / \  /     9  11 5 7             11  9 7  5

代码描述:

 public class MirrorTree{
    public void Mirror(TreeNode root) {
        if(root==null)return ;
        if(root.left==null&&root.right==null)
            return;
        if(root!=null)
        {
              swapTree(root);
              Mirror(root.left);
              Mirror(root.right);

        }
    }
    public void swapTree(TreeNode root)
    {
        TreeNode temp = root.left;
        root.left = root.right;
        root.right = temp;

    }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

二叉树的镜像

标签:剑指offer

原文地址:http://blog.csdn.net/u014307117/article/details/47012603

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!