二叉树的镜像

2018-10-31  本文已影响0人  Max_7

题目描述

操作给定的二叉树,将其变换为源二叉树的镜像。

思路

这道题比较简单。每次只考虑三个节点,根左右。每次把根节点的左右结点交换位置。然后递归的对左右子树做这个交换操作就可以。 第一次交换的时候,因为节点本身的左右子树没有变换,所以伴随着根节点的左右孩子的交换,整个的左右子树也进行了交换。然后左右子树又可以独立的看成完成的二叉树,递归的交换,直到交换到叶子节点。

代码

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
上一篇 下一篇

猜你喜欢

热点阅读