right = constructOne(tree[idx]) idx += 1 tn.right = right q.append(right) return root def printNode(tn, indent): sb = "" for i in range(indent): sb += "\t" sb += str(tn.val) print(sb) def printTree(root, indent): if not root: return printTree(root.right, indent + 1) printNode(root, indent) printTree(root.left, indent + 1) # root = createTree("1, 2, 5, 3, 4, #, 6") root = createTree("4, 3, 5, 2, #, #, 7") i, v = BSTIterator(root), [] while i.hasNext(): v.append(i.next()) for node in v: print(node.val)