Выкроил сегодня время и написал методы:
All() — энумератор всех суффиксов,
Contains(string) — проверка, если подстрока в дереве
ContainsSuffix(string) — проверка, если суффикс в дереве,
StartingWith(string) — энумератор всех суффиксов, начинающихся со строки
(Это вместо предложенного ранее IndexOf, ибо в случае дерева с несколькими строками просто IndexOf лишен смысла. Внутри структурки Suffix возвращается в том числе и индекс внутри исходной строки).
Позже постараюсь сделать варианты ContainsSuffix и StartingWith с масками (Contains не вижу смысла делать, ибо это будет тоже самое, что ContainsSuffix для маски с * в конце).
Смотреть тут:
https://github.com/rsdn/CodeJam/pull/23