二叉树的镜像

问题描述

请完成一个函数,输入一颗二叉树,该函数输出它的镜像。

思路分析

镜像也就是将每个子节点的左右子节点交换,可以先判断根结点是否有左右子树,然后依次交换,然后在利用递归的思想继续交换

码上有戏

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class TreeNode{
int data;
TreeNode left;
TreeNode right;
TreeNode(int data){
this.data=data;
}
}
public void Mirror(TreeNode root){
if(root==null||(root.left==null&&root.right==null))
return;
TreeNode temp=root.left;
root.left=root.right;
root.right=temp;
if(root.left!=null)
Mirror(root.left);
if(root.right!=null)
Mirror(root.right);
}

热评文章