aboutsummaryrefslogtreecommitdiff
path: root/binary_tree_postorder_trav.py
diff options
context:
space:
mode:
Diffstat (limited to 'binary_tree_postorder_trav.py')
-rw-r--r--binary_tree_postorder_trav.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/binary_tree_postorder_trav.py b/binary_tree_postorder_trav.py
new file mode 100644
index 0000000..075bb4f
--- /dev/null
+++ b/binary_tree_postorder_trav.py
@@ -0,0 +1,35 @@
+# 145. Binary Tree Postorder Traversal
+
+"""
+given the 'root' of a binary tree, return the postorder traversal of its
+nodes' values
+"""
+
+
+# Definition for a binary tree node.
+class TreeNode(object):
+ def __init__(self, val=0, left=None, right=None):
+ self.val = val
+ self.left = left
+ self.right = right
+
+
+class Solution(object):
+ def postorderTraversal(self, root):
+ """
+ :type root: TreeNode
+ :rtype: List[int]
+ """
+ trav, stack = [], [root]
+ while stack:
+ node = stack.pop()
+ if node:
+ trav.append(node.val)
+ stack.append(node.left)
+ stack.append(node.right)
+ return trav[::-1]
+
+
+if __name__ == "__main__":
+ obj = Solution()
+ print(obj.postorderTraversal(root=[1, None, 2, 3]))