8.10 - hard - 32

741 ワード

145. Binary Tree Postorder Traversal
この問題は見るからにできない,ハハハ,できないのは理にかなっている.何度も書いておけば,手慣れていればいい.このような反転preorderの考えは奇妙だ.
class Solution(object):
    def postorderTraversal(self, root):
        """
        :type root: TreeNode
        :rtype: List[int]
        """
        result = []
        stack = []
        p = root
        while stack or p:
            if p:
                stack.append(p)
                result = [p.val] + result # Reverse the process of preorder
                p = p.right              # Reverse the process of preorder
            else:
                node = stack.pop()
                p = node.left          # Reverse the process of preorder
        return result