public ArrayList<String> letterCombinations(String digits) {

		result = new ArrayList<String>();
// 		if (digits.length() == 0)
// 			return result;
		HashMap<Integer, String> maps = new HashMap<Integer, String>();
		maps.put(2, "abc");
		maps.put(3, "def");
		maps.put(4, "ghi");
		maps.put(5, "jkl");
		maps.put(6, "mno");
		maps.put(7, "pqrs");
		maps.put(8, "tuv");
		maps.put(9, "wxyz");
		String[] str = new String[digits.length()];
		for (int i = 0; i < digits.length(); i++) {
			str[i] = maps.get(Character.getNumericValue(digits.charAt(i)));
		}
		if (digits.length() == 1) {
			for (int i = 0; i < str[0].length(); i++) {
				result.add(str[0].charAt(i) + "");
			}
			return result;
		}
		String temp = "";
		getString(str, temp, 0, 0);
		return result;
	}