题目
请完成一个函数,输入一个二叉树,该函数输出它的镜像。
示例输入:
4
/ \
2 7
/ \ / \
1 3 6 9
输出:
4
/ \
7 2
/ \ / \
9 6 3 1
python代码
class Solution(object):
def mirrorTree(self, root):
"""
:type root: TreeNode
:rtype: TreeNode
"""
def change(node):
if node:
change(node.left)
change(node.right)
node.left,node.right = node.right,node.left
out_root = root
change(root)
return out_root
解题方法采用递归的思路,每次处理一个节点,将其左右两个子节点交换。根据递归的特点,根节点最后才被处理。