给定的二叉树结构如下:
# 1
# / \
# 2 3
# / \ \
# 4 5 6
完整Python迭代中序遍历的TreeNode类和inorder_iterative函数代码如下:
class TreeNode:
def __init__(self, x):
self.val = x
self.left = None
self.right = None
def inorder_iterative(root):
stack = []
curr = root
while curr or stack:
while curr:
stack.append(curr)
curr = curr.left
curr = stack.pop()
print(curr.val, end=" ")
curr = curr.right