题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:源二叉树 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
def function(root):
if root:
root.left,root.right = root.right,root.left
if root.left:
function(root.left)
if root.right:
function(root.right)