class Solution {    public List<String> letterCombinations(String digits) {        Map<Character, String> phone = new HashMap<Character, String>();        phone.put('2', "abc");        phone.put('3', "def");        phone.put('4', "ghi");        phone.put('5', "jkl");        phone.put('6', "mno");        phone.put('7', "pqrs");        phone.put('8', "tuv");        phone.put('9', "wxyz");                List<String> output = new ArrayList<String>();                for(int i = 0; i < digits.length(); i++) {            String letter = phone.get(digits.charAt(i));            List<String> temp = new ArrayList<String>();            for(int j = 0; j < letter.length(); j++) {                if(output.size() == 0) {                    temp.add(letter.substring(j, j+1));                }                else {                    for(String s : output) {                        temp.add(s+letter.substring(j, j+1));                    }                }            }            output.clear();            output.addAll(temp);            temp.clear();        }        return output;    }}