题目:
请完成一个函数,输入一个二叉树,该函数输出它的镜像。
leetcode原题链接
思路:
递归。
当此时根节点不为空时,交换左右节点。
再对交换后左右节点各自的左右节点进行交换,直至当前节点为空
返回root
代码:
时间复杂度:O(n)【n个元素】
空间复杂度:O(m)【m为二叉树的层数】
# 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 root is not None:
root.left,root.right=root.right,root.left
self.mirrorTree(root.left)
self.mirrorTree(root.right)
return root