private void dfs(StringBuilder single, String digits, int index){
        if(index >= digits.length()){
            result.add(single.toString());
            return;
        }

        String combine = map.get(digits.charAt(index));
        for(int i = 0; i < combine.length(); i++){
            single.append(combine.charAt(i));
            dfs(single, digits, index + 1);
            single.deleteCharAt(single.length() - 1);
        }
    }