public static int mirror(BinaryNode<Integer> root)
{
if(root==null)
{
return 0;
}
else
{
root.setRight(root.getLeft());
mirror(root.getLeft());
mirror(root.getRight());
}
return 0;
}输入4261357 (级别顺序遍历)
4
/ \
2 6
/ \ / \
1 3 5 7输出4221111 (级别顺序遍历)
4
/ \
2 2
/ \ / \
1 1 1 1但是我想从左到右镜像
4
/ \
2 2
/ \ / \
1 3 3 1我如何修复这段代码?
发布于 2016-04-23 00:26:11
您需要交换这两个部分:
temp = root.getLeft();
root.setLeft(root.getRight());
root.setRight(temp);
mirror(root.getLeft());
mirror(root.getRight());https://stackoverflow.com/questions/36776236
复制相似问题