MCPcopy
hub / github.com/Jack-Lee-Hiter/AlgorithmsByPython / postOrder

Method postOrder

Target Offer/递归和非递归实现二叉搜索树的三种遍历.py:52–67  ·  view source on GitHub ↗
(self, root)

Source from the content-addressed store, hash-verified

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:

Calls 1

popMethod · 0.45

Tested by

no test coverage detected