title: String matching with an implicit representation of a suffix tree
body: <p>From Data Structures and Algorithm Analysis in Java, Weiss:</p>
  
  <p><a href="https://i.stack.imgur.com/l7Epr.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/l7Epr.png" alt="explicit and implicit representation of the suffix tree for &#39;banana&#39;"></a></p>
  
  <p>Weiss writes:</p>
  
  <blockquote>
    <ol>
    <li>In the leaves, we use the index where the suffix begins (as in the suffix array)</li>
    <li>In the internal nodes, we store the number of common characters matched from the root until the internal node; this number represents the letter depth.</li>
    </ol>
  </blockquote>
  
  <p>My question:  given the input string (e.g. 'banana') and the implicit representation of the suffix tree, what would a good algorithm for substring search look like?  The algorithms I've seen assume a different representation of the tree.  I'd like to do substring search without converting to a different tree representation.</p>