public class E27MirrorBinaryTree {
//二叉树的镜像
private class BinaryTreeNode{
int vallue;
BinaryTreeNode leftNode;
BinaryTreeNode rightNode;
}
public static void mirrorRecursively(BinaryTreeNode root){
//递归终止条件,叶节点也直接返回
if (root == null)
return;
if (root.leftNode == null && root.rightNode == null)
return;
//交换左右子节点
BinaryTreeNode temp = root.leftNode;
root.leftNode = root.rightNode;
root.rightNode = temp;
//递归交换所有左右子节点
mirrorRecursively(root.leftNode);
mirrorRecursively(root.rightNode);
}
//测试用例
public static void main(String[] args){
/*空二叉树
*只含一个节点
* 全为左节点
* 全为右节点
* 一般二叉树*/
}
}
二叉树的镜像(Java实现)
最新推荐文章于 2021-12-26 00:11:32 发布