题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:源二叉树
8
/
6 10
/ \ /
5 7 9 11
镜像二叉树
8
/
10 6
/ \ /
11 9 7 5
思路:
就是一个临时变量temp进行左右交换,然后在利用递归的方式进行依次交换,根据题目的特性我们可以选择前序遍历的方式进行递归.
代码:
public class Mirror
{
public void mirror(TreeNode root){
if(root == null)
return;
change(root);
if(root.left != null)
change(root.left);
if(root.right != null)
change(root.right);
}
private void change(TreeNode node){
TreeNode temp = node.left;
node.left = node.right;
node.right = temp;
}
}
网友评论