From 08278636619344c55515ff712083ca9f4759c5e8 Mon Sep 17 00:00:00 2001 From: Beena P Jha Date: Tue, 29 Oct 2019 21:10:25 +0530 Subject: [PATCH] Create Tree Traversal - Postorder --- Tree Traversal - Postorder | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Tree Traversal - Postorder diff --git a/Tree Traversal - Postorder b/Tree Traversal - Postorder new file mode 100644 index 0000000..c42a17e --- /dev/null +++ b/Tree Traversal - Postorder @@ -0,0 +1,31 @@ + +##Iterative Solution## +# Definition for a binary tree node. +# class TreeNode: +# def __init__(self, x): +# self.val = x +# self.left = None +# self.right = None + +class Solution: + def postorderTraversal(self, root: TreeNode) -> List[int]: + #left->right->root + stack=[(False,root)] + res=[] + while stack: + flag,val=stack.pop() + if val: + if not flag: + stack.append((True,val)) + stack.append((False,val.right)) + stack.append((False,val.left)) + else: + res.append(val.val) + return res + + +##Recursive Solution ## + if not root: + return [] + else: + return self.postorderTraversal(root.left) + self.postorderTraversal(root.right) + [root.val]