public static void Main()
Console.WriteLine("Search 'word' => " + t.Search("word"));
Console.WriteLine("StartsWith 'wor' => " + t.StartsWith("wor"));
public TrieNode[] Children = new TrieNode[26];
public void Insert(string word)
for(int i = 0; i < word.Length; i++)
if(node.Children[c - 'a'] == null)
node.Children[c - 'a'] = new TrieNode();
node = node.Children[c - 'a'];
public bool Search(string word)
for(int i = 0; i < word.Length; i++)
if(node.Children[c - 'a'] == null)
node = node.Children[c - 'a'];
public bool StartsWith(string prefix)
for(int i = 0; i < prefix.Length; i++)
if(node.Children[c - 'a'] == null)
node = node.Children[c - 'a'];