title: Retrieving a Binary-Tree node's depth non-recursively
body: <p>Can anyone point out a way of getting the depth of a Node in a Binary Tree (not a balanced one, or BST) <em>without using recursion</em>? Ideally in Java/C/C#</p>
  
  <p>The node is represented as:</p>
  
  <pre><code>class Node
  {
    Node Left;
    Node Right;
    string Value;
    int Depth;
  }
  </code></pre>
  
  <p>Using Level Order with a FIFO list was my first thought, but I was stumped at detecting when the level changes, particular for unbalanced trees.</p>