二叉树的镜像(剑指offer)
操作给定的二叉树,将其变换为源二叉树的镜像。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/edabb4f272859ca663c2c8600edc0b31.png)
解法:函数输入一个根节点,交换左右子树,以左右子节点递归该函数进而是所有子树交换。递归结束条件左右子树都为空,每次递归记得判断该节点是否为空。一般二叉树的问题基本上都是递归。。。
public class Solution {
public void Mirror(TreeNode root) {
if(root==null){
return;
}
if(root.left==null && root.right==null){
return;
}
TreeNode temp = root.right;
root.right = root.left;
root.left = temp;
if(root.left!=null){
Mirror(root.left);
}
if(root.right!=null){
Mirror(root.right);
}
}
}