题目:
题解:
分析题意,我们可以看出输出结果是先序遍历,一开始是先访问的左边结点,然后是右边节点。而结果中是先访问的右边结点,然后是左边结点;即左边结点和右边结点进行了交换。因此,本题的核心是交换树的左右结点。
递归:
利用深度优先搜索,深度优先搜索包括二叉树的先序,中序,后序遍历;在本题中我们利用二叉树的先序遍历来进行求解,在输出当前结点的值之后,交换此结点的左右结点,然后再进行遍历。
代码如下:
class Solution:
def mirrorTree(self, root):
def dfs(root):
if root is not None:
print(root