226. Invert Binary Tree

题目描述

Invert a binary tree.
**注:返回tree的镜像树

思路1

用recursive的方法,先判断if (root)
然后交换其左右两个node的位置
并在将该方法延伸到其左右两个node

思路2

不用recursive的方法,用一个stack存还没有完成swap的node
每次pop出来一个node,并swap其左右两个node,并分别push到stack中

#Recursive Solution
    def invertTree(self, root):
        """
        :type root: TreeNode
        :rtype: TreeNode
        """
        if (root):
            root.left, root.right = root.right, root.left
            self.invertTree(root.left)
            self.invertTree(root.right)
        return root

你可能感兴趣的:(226. Invert Binary Tree)