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

例如输入:

镜像输出:

示例 1:

输入:root = [4,2,7,1,3,6,9]
输出:[4,7,2,9,6,3,1]

限制:

  • 0 <= 节点个数 <= 1000

Python 解答:

  1. 惯性思维想错了,不用这样复杂
    
    # 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 None
elif root.left == None and root.right == None:
return root
else:
node = TreeNode(root.val)
if root.left:
node.right = TreeNode(root.left.val)
node.right.left = self.mirrorTree(root.left.right)
node.right.right = self.mirrorTree(root.left.left)
if root.right:
node.left = TreeNode(root.right.val)
node.left.left = self.mirrorTree(root.right.right)
node.left.right = self.mirrorTree(root.right.left)
return node

最后修改日期: 2021年4月4日

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。