public class Solution {
List<String> result = new ArrayList<String>();
public List<String> letterCombinations(String digits) {
if (digits.length() == 0) {
return result;
}
String[] strs = "abc def ghi jkl mno pqrs tuv wxyz".split(" ");
List<String> list = new ArrayList<String>();
for (int i = 0; i < digits.length(); i++) {
list.add(strs[(int)digits.charAt(i) - '0' - 2]);
}
helper(list, "");
return result;
}
public void helper(List<String> list, String pre) {
int length = list.size();
if (length == 0) {
result.add(pre);
return;
}
String str = list.get(0);
list.remove(0);
for (int i = 0; i < str.length(); i++) {
String tmp = pre + str.charAt(i);
helper(list, tmp);
}
list.add(0, str);
}
}