diff --git a/python/0145-binary-tree-postorder-traversal.py b/python/0145-binary-tree-postorder-traversal.py new file mode 100644 index 000000000..d07023877 --- /dev/null +++ b/python/0145-binary-tree-postorder-traversal.py @@ -0,0 +1,19 @@ +class Solution: + def postorderTraversal(self, root: Optional[TreeNode]) -> List[int]: + stack = [root] + visit = [False] + res = [] + + while stack: + cur, v = stack.pop(), visit.pop() + if cur: + if v: + res.append(cur.val) + else: + stack.append(cur) + visit.append(True) + stack.append(cur.right) + visit.append(False) + stack.append(cur.left) + visit.append(False) + return res