void findWords(trie *root, char *filter)
{
    if (!root) return;

    if (*filter == 0)  // When you reach the end of the filter at the
end of a valid word, add the word.
    {
        if (root->words) words.add(root->word);
    }
    else if (*filter == '.')   // Search for words with any letter
    {
        for(int i = 'a'; i <= 'z' ; ++i)
            findWords(root->link[i], filter+1);
    }
    else  // Search for words with the required letter
    {
         findWords(root->link[*filter], filter+1);
    }
}

On May 28, 4:47 am, avinesh saini <[email protected]> wrote:
> How to search all the matching words for a filter in a trie.
> e.g.
> searching by filter  "...r..m" will find all the words(of length = 7) in
> trie in which 4th character is 'r' and 7th character is 'm'.
>
> --
> *
> *
> *thanks & regards,*
> *Avinesh
> *

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].


Reply via email to