首页 > 其他 > 详细

二叉树的镜像

时间:2015-07-23 00:40:58      阅读:99      评论:0      收藏:0      [点我收藏+]

题目描述:

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

        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;

    }
}

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

二叉树的镜像

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!