Вы можете применить модифицированный алгоритм.
Предположим, что у каждого узла в дереве есть 2 типа ребер
1) Край "может быть", если вы находитесь в префиксе, и получите некоторую букву,поэтому новый префикс все еще может быть префиксом из некоторого слова в словаре.
Пример: Словарь aaa и aaabc, если вы находитесь в aaa и получаете букву b, вы переходите в aaab.
2) Край "nope", если вы находитесь по префиксу и получаете какую-то букву, поэтому новый префикс отсутствует в словаре, вы говорите, что этого слова нет в словаре, и переходите к следующему слову.
Пример: Словарь aaa и aaabc, если вы находитесь в aaa и получаете букву c, вы можете сказать, что этого слова нет в словаре и перейти к следующему слову.
Чтобы построить дерево, вы 'Вам понадобится время O (общая длина словаря) и O (длина), чтобы проверить каждое слово, так что это приведет к алгоритму O (ввод).