标签:剑指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