剑指 Offer 27. 二叉树的镜像
剑指 Offer 27. 二叉树的镜像
请完成一个函数,输入一个二叉树,该函数输出它的镜像。
使用递归的方法:
先对左子树递归调用镜像
再多右子树递归调用镜像
最后在解决本节点左节点和右节点的交换位置
代码如下:
# Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def mirrorTree(self, root: TreeNode) -> TreeNode: if not root: return # 先解决自己左节点和右节点的问题 root.left, root.right = root.right, root.left # 递归的调用自身去解决左子树和右子数的问题 self.mirrorTree(root.left) self.mirrorTree(root.right) return root