Lazy in-order BST iterator
Write an iterator over a binary search tree that returns values in sorted order one at a time, with next() and has_next(). Do it lazily with a stack, so memory is proportional to the tree's height, not its size. Follow-up: make the iterator safe when the tree is changed or the iterator is used from several threads at once.
No answer yet. Write the first one; the best answer gets endorsed.
