剑指offer:二叉树的镜像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指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

以上是关于剑指offer:二叉树的镜像的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer——二叉树的镜像

剑指offer--27二叉树的镜像

剑指offer-(16)二叉树的镜像

《剑指Offer——二叉树的镜像》代码

剑指Offer 二叉树的镜像

剑指offer:面试题19二叉树的镜像