题目:二叉树的镜像
操作给定的二叉树,将其变换为源二叉树的镜像。
思路:遇到树,用递归总没错。首先将root的左右子树交换,再对左子树进行递归镜像转换,然后对右子树进行递归镜像转换。直到当前函数root为空,递归结束。
代码
# -*- coding:utf-8 -*-
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
# 返回镜像树的根节点
def Mirror(self, root):
# write code here
if root is None:
return
root.left, root.right = root.right, root.left
self.Mirror(root.left)
self.Mirror(root.right)
return root