173. Binary Search Tree Iterator
Last updated
Was this helpful?
Last updated
Was this helpful?
Implement an iterator over a binary search tree (BST). Your iterator will be initialized with the root node of a BST.
Callingnext()
will return the next smallest number in the BST.
Note:next()
andhasNext()
should run in average O(1) time and uses O(h) memory, wherehis the height of the tree.
Credits: Special thanks to for adding this problem and creating all test cases.
Thoughts:
Using stack to record path.
When initialized, traverse to the leftmost
when retrieving, pop out from the stack and use its right child (if it does have) as a root node to put more nodes in front of the stack (In order traversal)
Code Python T:O(1) S:O(h)
from 's