下面两棵树互为镜像
这里写图片描述 这里写图片描述
思路:先序遍历树的每个结点,若遍历到的结点有子节点,则交换它的两个结点。
void mirrorRecurisively(BinaryTreeNode node){
if (node==null)return;
if (node.getLeft()==null&&node.getRight()==null)return;
//当前结点的子节点替换
BinaryTreeNode temp = node.getLeft();
node.setLeft(node.getRight());
node.setRight(temp);
//递归替换各个结点
if (node.getLeft()!=null)
mirrorRecurisively(node.getLeft());
if (node.getRight()!=null)
mirrorRecurisively(node.getRight());
}
网友评论