- class BSTIterator(object):
- def __init__(self, root):
- “”” :type root: TreeNode “”” self.visit = root self.stack = []
- def hasNext(self):
- “”” :rtype: bool “”” return len(self.stack) != 0 or self.visit
- def next(self):
“”” :rtype: int “”” while self.visit:
self.stack.append(self.visit) self.visit = self.visit.leftnode = self.stack.pop() self.visit = node.right return node.val
- if __name__ == ‘__main__’:
from bst import tree
root = tree() i, v = BSTIterator(root), [] while i.hasNext():
v.append(i.next())print v