题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
思路
这道题比较简单。每次只考虑三个节点,根左右。每次把根节点的左右结点交换位置。然后递归的对左右子树做这个交换操作就可以。 第一次交换的时候,因为节点本身的左右子树没有变换,所以伴随着根节点的左右孩子的交换,整个的左右子树也进行了交换。然后左右子树又可以独立的看成完成的二叉树,递归的交换,直到交换到叶子节点。
代码
class Solution:
# 返回镜像树的根节点
def Mirror(self, root):
# write code here
if root is None:
return None
root.left , root.right = root.right , root.left
self.Mirror(root.left)
self.Mirror(root.right)
return root
网友评论