根据二叉树镜像的定义,考虑递归遍历(dfs)二叉树,交换每个节点的左 / 右子节点,即可生成二叉树的镜像。
解题步骤:
1、特判:如果pRoot为空,返回空
2、交换左右子树
3、把pRoot的左子树放到Mirror中镜像一下
4、把pRoot的右子树放到Mirror中镜像一下
5、返回根节点root
3、把pRoot的左子树放到Mirror中镜像一下
4、把pRoot的右子树放到Mirror中镜像一下
5、返回根节点root
class Solution: def Mirror(self , pRoot ): # write code here if not pRoot: return pRoot pRoot.left, pRoot.right = pRoot.right, pRoot.left self.Mirror(pRoot.left) self.Mirror(pRoot.right) return pRoot