剑指Offer[27]-二叉树的镜像

题目

请完成一个函数,输入一个二叉树,该函数输出它的镜像。

示例输入:

     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

解题方法采用递归的思路,每次处理一个节点,将其左右两个子节点交换。根据递归的特点,根节点最后才被处理。

发表评论

电子邮件地址不会被公开。