18.二叉树的镜像
操作给定的二叉树,将其变换为源二叉树的镜像。
算法描述:
1.对树进行非空的判断,若树为空,则直接返回,同时也是递归结束的判断,递归到每个叶节点后,就停止递归。
2.交换该节点的左子树和右子树
3.递归调用该函数,来遍历该节点的左子树和右子树。 如果根节点的左右节点都为空,则也直接退出。
(交换左右孩子的次序可以在递归之前,也可以在递归之后)
public class Solution {
public void Mirror(TreeNode root) {
TreeNode tmp=null;
if(root!=null){
tmp=root.left;
root.left=root.right;
root.right=tmp;
if(root.left!=null) Mirror(root.left);
if(root.right!=null) Mirror(root.right);
}
}
}