1、题目
操作给定的二叉树,将其变换为源二叉树的镜像。
2、解法
public class Solution {
public void Mirror(TreeNode root) {
if(root == null)
return;
TreeNode tmp = root.left;
root.left = root.right;
root.right = tmp;
Mirror(root.left);
Mirror(root.right);
}
}
自己错误的理解
1、因为需要根的左右子树交换顺序,下意识将条件设置为 root.left != null && root.right !=null 作为条件,但是没想到遇到以下特例:
也就是只有左子树,没有右子树,也需要交换的情况,这样一来,左右子树都有空或不空的情况,很难具体设定条件,所以直接设定 root!= null 解决问题。