public virtual void Insert(string prefix) { if (ContainsPrefix(prefix)) return; var upperPrefix = prefix.ToUpperInvariant(); var parent = _root; foreach (var c in upperPrefix) { var child = parent[c]; if (child == null) { child = new TrieNode(c); parent.Children.Add(child); } parent = child; } }
public PrefixTrie() { _root = new TrieNode('\0'); }