TrieNode *find(Trie t, Key k)
{
char *c = k;
TrieNode *curr = t->root;
while (*c != '\0' && curr != NULL) {
while (curr != NULL && curr->keybit != *c)
curr = curr->sibling;
if (curr == NULL) return NULL;
if (*(c+1) == '\0') return curr;
curr = curr->child;
c++;
}
return NULL;
}
|