Coding Challenge Series / Technical Interview Series
Create a structure which represents a binary tree. Iterate through all of the elements of the tree in any order, without using recursion.
Update: Your function is only provided the root of the constructed tree. A tree node should contain no more than the child node pointers and the data.

How flexible is this question? More specifically, are we supposed to iterate through the tree given just the root tree node? or are we able to be creative in the construction of the tree (so long as it remains a binary tree)?