1. Create a Queue of tree nodes Queue<TreeNode> q.
2. Enqueue the root and follow steps 3 - 4 below :
Repeat step 3 and 4 below
3. In a while loop traverse the tree, and store all the nodes of each level in the queue.
4. Deque nodes and enqueue their child nodes.
5. The last node to come out of the Queue is the deepest node.