func NewKTrie(data map[string]bool) (*KTrie, error) {
	n := NewKNode(0)

	maxDepth := 0
	minDepth := 9001

	for k := range data {
		rs := []rune(k)
		l := len(rs)

		n.Add(rs)

		if l > maxDepth {
			maxDepth = l
		}
		if l < minDepth {
			minDepth = l
		}
	}

	t := &KTrie{
		maxDepth: maxDepth,
		minDepth: minDepth,
		KNode:    n,
	}

	return t, nil
}
func NewKTrie(data map[string]bool) (*KTrie, error) {
	n := NewKNode(0)

	maxDepth := 0
	minDepth := 9001

	for k := range data {
		rs := []rune(k)
		l := len(rs)

		n.Add(rs)

		if l > maxDepth {
			maxDepth = l
		}
		if l < minDepth {
			minDepth = l
		}
	}

	t := &KTrie{
		maxDepth: maxDepth,
		minDepth: minDepth,
		KNode:    n,
	}

	return t, nil
}
// NewKTrie ...