题目描述
请完成一个函数,输入一个二叉树,该函数输出它的镜像。
思路
代码
class Solution:
def mirrorTree(self, root:TreeNode)->TreeNode:
if not root:
return
tmp = root.left
root.left = self.mirrorTree(root.right)
root.right = self.mirrorTree(tmp)
return root
复杂度
时间复杂度 O(N): 其中 N 为二叉树的节点数量,建立二叉树镜像需要遍历树的所有节点,占用 O(N)时间。
空间复杂度 O(N): 最差情况下(当二叉树退化为链表),递归时系统需使用 O(N) 大小的栈空间。