public List<String> letterCombinations(String digits) {
		if (digits.length() == 0)
			return result;
		HashMap<Character, String> hash_map = new HashMap<Character, String>();
		hash_map.put('2', "abc");
		hash_map.put('3', "def");
		hash_map.put('4', "ghi");
		hash_map.put('5', "jkl");
		hash_map.put('6', "mno");
		hash_map.put('7', "pqrs");
		hash_map.put('8', "tuv");
		hash_map.put('9', "wxyz");
		ArrayList<String> str = new ArrayList<String>();
		String res = "";
		for (int i = 0; i < digits.length(); ++i) {
			str.add(hash_map.get(digits.charAt(i)));
		}
		helper(str, 0, res);
		return result;
	}