public List<String> getEditDistance(String word, int k, Trie theTrie){
        int len = word.length();
        int[] currRow = new int[len + 1];
        for(int i = 0; i < len + 1; i++){
            currRow[i] = i;
        }
        List<String> result = new ArrayList<String>();
        StringBuilder single = new StringBuilder();
        TrieNode root = theTrie.root;
        for(Character ch : root.children.keySet()){
            traverseTrie(root.getChild(ch), ch, word, currRow, k, theTrie, single, result);
            single.deleteCharAt(single.length() - 1);
        }
        return result;
    }