什么是二叉树镜像

二叉树镜像是指把二叉树的所有节点的左右子树进行互换,也就是说,原来的左子树变成右子树,原来的右子树变成左子树,而根节点不变。

Python 二叉树转换成二叉树镜像

1、首先,定义一个二叉树的类,其中包括节点值 val 和左右子树 left 和 right,如下所示:

12345
class TreeNode:
    def __init__(self, val):
        self.val = val
        self.left, self.right = None, None
Python

2、然后,定义一个函数,用于将 python 二叉树转化为二叉树镜像,函数需要传入一个根节点,如下所示:

123456789
def mirror_tree(root):
    if root is None:
        return
    root.left, root.right = root.right, root.left
    if root.left:
        mirror_tree(root.left)
    if root.right:
        mirror_tree(root.right)
Python

3、最后,调用函数,将 python 二叉树转换成二叉树镜像,如下所示:

12
mirror_tree(root)
Python