Pattern matching dictionary words from data stream
http://www.1point3acres.com/bbs/thread-308340-1-1.html
Depends on radix and length of the dictionary words.
Method 1: Build KMP for each of the string in the dictionary. Good for super long words with small radix.
Method 2: If the length of longest string is short enough, cache the last longestStr.length number of chars, and walk the cached chars backwards in a trie (built in reverse order of the words in the dictionary)