leetcode-面试题27-二叉树的镜像

 题目描述:

 

 方法一:递归

class Solution:
    def mirrorTree(self, root: TreeNode) -> TreeNode:
        if not root:return
        root.left,root.right = self.mirrorTree(root.right),self.mirrorTree(root.left)
        return root
        

方法二:栈

class Solution:
    def mirrorTree(self, root: TreeNode) -> TreeNode:
        if not root:return
        stack = [root]
        while stack:
            node = stack.pop()
            if node.left:stack.append(node.left)
            if node.right:stack.append(node.right)
            node.left,node.right = node.right,node.left
        return root

 

posted @ 2020-04-21 19:41  oldby  阅读(102)  评论(0编辑  收藏  举报