public List<String> prefixSearch(String key) {
        List<String> value = new ArrayList<String>();
        if (StringUtil.isEmpty(key)) {
            return value;
        }

        char k = key.charAt(0);
        int index;
        if (Character.isUpperCase(k)) {
            index = k - UPPERCASE_STAR;
        } else {
            index = k - LOWERCASE_STAR;

        }
        if (root.children != null && root.children[index] != null) {
            return query(root.children[index], value,
                    key.substring(1), String.valueOf(k));
        }
        return value;
    }
@Test
    public void prefixSearch() throws Exception {
        TrieTree trieTree = new TrieTree();
        trieTree.insert("abc");
        trieTree.insert("abd");
        trieTree.insert("ABe");

        List<String> ab = trieTree.prefixSearch("AB");
        for (String s : ab) {
            System.out.println(s);
        }

        System.out.println("========");

        //char[] chars = new char[3] ;
        //for (int i = 0; i < 3; i++) {
        //    int a = 97 + i ;
        //    chars[i] = (char) a ;
        //}
        //
        //String s = String.valueOf(chars);
        //System.out.println(s);
    }