void printSteps(Trie tr, char *str){ printf("%s\n", str); int len = lenInTrie(&tr, str); char *next = str; while(len > 0){ next = findInTrie(&tr, next); len = lenInTrie(&tr, next); printf("%s\n", next); } }
void *findInTrie(char *key, triePo trie) { if (trie == NULL) return NULL; else if ((*key) == '\0') return trie->value; else if (trie->follows != NULL) { long K = *key; triePo next = (triePo) hashGet(trie->follows, (void *) K); if (next != NULL) return findInTrie(key + 1, next); else return NULL; } else return NULL; }