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);
}
}
}
博客介绍了将给定二叉树变换为其镜像的算法。先对树进行非空判断,若为空则返回,这也是递归结束条件。接着交换节点的左右子树,再递归调用函数遍历左右子树,若根节点左右节点都为空则退出,交换次序可在递归前后。
190

被折叠的 条评论
为什么被折叠?



