Пример #1
0
        private static TrieNode Search(TrieNode root, char key, string remaining)
        {
            var children = root.getChildren();

            if (children.ContainsKey(key))
            {
                var node = children[key];
                return(string.IsNullOrEmpty(remaining) ? node : Search(node, remaining[0], remaining.Remove(0, 1)));
            }

            return(TrieNode.Empty());
        }
Пример #2
0
 public Trie()
 {
     root = TrieNode.Empty();
 }
Пример #3
0
 public TrieNode Search(string word)
 {
     return(string.IsNullOrEmpty(word) ?
            TrieNode.Empty() :
            Search(root, word[0], word.Remove(0, 1)));
 }