二叉树的镜像

来源:互联网 发布:中国陆军俄罗斯知乎 编辑:程序博客网 时间:2024/05/16 12:21
二叉树的镜像
题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:源二叉树
8
/ \
6 10
/ \ / \
5 7 9 11
镜像二叉树
8
/ \
10 6
/ \ / \
11 9 7 5
解题思路
遇到二叉树问题,就会想到递归。镜像问题,可以看出,从根节点左右子节点开始,都是左右子树交换。因此可以使用递归,从左右子树开始,一直到叶子结点,进行交换。
实现代码
public void Mirror(TreeNode root){    if(root == null)        return;    if(root.left==null&& root.right==null)        return;    TreeNode temp = null;    temp = root.right;    root.right = root.left;    root.left = temp;    if(root.left!=null)        Mirror(root.left);    if(root.right!=null)        Mirror(root.right);}