public void insert(string word)
            {
                TrieNode cur = root;

                for(int i=0;i < word.Length ; i++)
                {
                    char c = word[i];

                    if(cur.GetChild(c)!=null)
                        cur = cur.GetChild(c);
                    else{
                        TrieNode temp = new TrieNode(c);
                        cur.trieNodes.Add(c, temp);
                        cur = temp;
                    }
                }

                cur.isEnd = true;
            }
 public Trie()
 {
     root = new TrieNode();
 }
 private TrieNode Contains(char c, TrieNode node)
 {
     if (node.Contains(c))
         return node.GetChild(c);
     else
         return null;
 }
 private TrieNode Insert(char c, TrieNode node)
 {
     if (node.Contains(c))
         return node.GetChild(c);
     else
     {
         int n = c - 'a';
         return node.nodes[n] = new TrieNode();
     }
 }
示例#5
0
 public Trie()
 {
     root = new TrieNode();
 }