(self, root)
| 50 | self.inOrderRec(root.right) |
| 51 | # postorder without recursion |
| 52 | def postOrder(self, root): |
| 53 | if root == None: |
| 54 | return |
| 55 | cur, pre, treeStack = root, None, [] # cur:current Node, pre: pre visited Node |
| 56 | treeStack.append(root) |
| 57 | while len(treeStack) > 0: |
| 58 | cur = treeStack[-1] |
| 59 | # current node doesn't have child nodes or child nodes have been visited |
| 60 | if (cur.left == None and cur.right == None) or (pre != None and (pre == cur.left or pre == cur.right)): |
| 61 | print(cur.val) |
| 62 | pre = treeStack.pop() |
| 63 | else: |
| 64 | if cur.right != None: |
| 65 | treeStack.append(cur.right) |
| 66 | if cur.left != None: |
| 67 | treeStack.append(cur.left) |
| 68 | # postorder with cursion |
| 69 | def postOrderRec(self, root): |
| 70 | if root: |
no test coverage detected