Пример #1
0
        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;
            }
        }
Пример #2
0
 public PrefixTrie()
 {
     _root = new TrieNode('\0');
 }