Skip to content

Commit c0d0a3c

Browse files
author
wb.xubilin
committed
二叉树 中序遍历
1 parent f5be8a9 commit c0d0a3c

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
from initTree import init_tree_from_list
2+
def inorder_traverse(node,op_func):
3+
4+
if node.left_child != None:
5+
inorder_traverse(node.left_child,op_func)
6+
7+
op_func(node)
8+
9+
if node.right_child != None:
10+
inorder_traverse(node.right_child,op_func)
11+
12+
13+
def inorder_traverse_nonResursion(node,op_func):
14+
stack = []
15+
root = node
16+
while len(stack) != 0 or root != None:
17+
while root != None:
18+
stack.append(root)
19+
root = root.left_child
20+
op_node = stack.pop()
21+
op_func(op_node)
22+
root = op_node.right_child
23+
24+
25+
if __name__ == "__main__":
26+
test_list = range(10)
27+
root_node = init_tree_from_list(test_list)
28+
def visit(node):
29+
print node.value
30+
inorder_traverse_nonResursion(root_node,visit)

0 commit comments

Comments
 (0)