输入一棵二叉树,输出它的镜像
递归到一个节点时,交换左右子树位置,再分别对左右子树操作
要注意的是,因为会遇到单叉树的情况,当两棵子树都为空的时候才跳出
public static void mirror(TreeNode root) {
if (root == null) {
return;
}
if (root.left == null && root.right == null) {
return;
}
TreeNode temp = root.left;
root.left = root.right;
root.right = temp;
mirror(root.left);
mirror(root.right);
}