https://medium.com/code-catalyst-daily/daily-coding-challenge-design-a-binary-search-tree-iterator-traverse-bst-in-o-1-average-time-e6111f6fc8c9