diff --git a/trie.go b/trie.go index 4fbf0f5..f549a75 100644 --- a/trie.go +++ b/trie.go @@ -73,9 +73,13 @@ func (t *Trie) Find(key string) (*Node, bool) { if node == nil { return nil, false } - - node, ok := node.Children()[nul] - if !ok || !node.term { + + node, ok :=node.children[0] + //node, ok := node.Children()[nul] + if !ok { + return nil, false + } + if !node.term { return nil, false } @@ -201,7 +205,11 @@ func findNode(node *Node, runes []rune) *Node { } else { nrunes = runes[0:0] } - + + // optimization + if n == nil { + return nil + } return findNode(n, nrunes) }