二叉树的镜像
Last updated
Last updated
问题简述
思路
对当前节点,镜像操作,就是调换左右子树,即 left, right = right, left
;
对整个树镜像,就是将每个节点下的左右子树都调换;
具体操作:先序或后序遍历每个节点,然后交换该节点的左右子树;
为什么不可以中序遍历?
根据中序遍历的性质,当对根节点进行操作镜像时,其左子树已经完成了镜像,右子树还没有;
此时交换左右子树,相当于把已经完成交换的左子树变成了右子树,之后在右子树上的镜像操作实际还是在对这个原来的左子树操作(相当于又把它还原了);
所以中序遍历的最终结果,就只是仅仅交换了根节点的左右子树;