For this one we want to code an iterator that will iterate over the tree in pre-order traversal.

Note that the "starting node" will be the first node visited in "pre-order".

Here are a couple nice writeups: