剑指offer:二叉树的镜像

题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:
```源二叉树
8
/ \
6 10
/ \ / \
5 7 9 11
镜像二叉树
8
/ \
10 6
/ \ / \
11 9 7 5

class TreeNode:
def init(self, x):
self.val = x
self.left = None
self.right = None

class Solution:

返回镜像树的根节点

def Mirror(self, root):
    if not root:
        return None
    # 如果当前节点不是叶子节点,那么交换它的左右节点
    if root.left or root.right:
        root.left, root.right = root.right, root.left

    # 对交换后的左右节点执行同样的操作
    root.left = self.Mirror(root.left)
    root.right = self.Mirror(root.right)

    return root