func (t *Trie) FuzzyMatches(s string, maxDist int) []string {

	a := NewSparseAutomaton(s, maxDist)

	state := a.Start()
	return t.root.traverse(a, state)

	//	for _, child := range t.root.children {

	//		matches := child.traverse(a, state)
	//		if len(matches) > 0 {
	//			ret = append(ret, matches...)
	//		}

	//	}
	//	return ret
}
// FuzzyMatches returns all the words in the trie that are with maxDist edit distance from s
FuzzyMatches returns all the words in the trie that are with maxDist edit distance from s
// FuzzyMatches returns all the words in the trie that are with maxDist edit distance from s
func (t *Trie) FuzzyMatches(s string, maxDist int) []string {
	a := NewSparseAutomaton(s, maxDist)
	state := a.Start()
	return t.root.traverse(a, state)
}
func ( t * Trie ) FuzzyMatches ( s string , maxDist int ) [ ] string { a := NewSparseAutomaton ( s , maxDist ) state := a . Start ( ) return t . root . traverse ( a , state ) }
FuzzyMatches returns all the words in the trie that are with maxDist edit distance from s
FuzzyMatches returns all the words in the trie that are with maxDist edit distance from s
//	for _, child := range t.root.children { //		matches := child.traverse(a, state) //		if len(matches) > 0 { //			ret = append(ret, matches...) //		} //	} //	return ret