操作给定的二叉树,将其变换为源二叉树的镜像。
/** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */
public class Solution {
public void Mirror(TreeNode root) {
//先判断整个树是否为空,是否只有根结点
if(root==null||(root.left==null&&root.right==null))
return ;
//交换根结点的左右子树
TreeNode temp;
temp=root.left;
root.left=root.right;
root.right=temp;
//分别对根结点的左右子树递归重复操作
if(root.left!=null)
Mirror(root.left);
if(root.right!=null)
Mirror(root.right);
}
}