/** Inserts a word into the trie. */ public void Insert(string word) { TrieNode node = root; for (int i = 0; i < word.Length; i++) { char currentChar = word.ElementAt(i); if (!node.ContainsKey(currentChar)) { node.Put(currentChar, new TrieNode()); } node = node.Get(currentChar); } node.SetEnd(); }
private TrieNode SearchPrefix(string word) { TrieNode node = root; for (int i = 0; i < word.Length; i++) { char curLetter = word.ElementAt(i); if (node.ContainsKey(curLetter)) { node = node.Get(curLetter); } else { return(null); } } return(node); }