public List<String> letterCombinations(String digits) {
List<String> result = new ArrayList<>(12);
if(digits == null || digits.length() == 0){
return result;
}
Map<Integer,String> phoneMap = new HashMap<>(8);
phoneMap.put(2,"abc");
phoneMap.put(3,"def");
phoneMap.put(4,"ghi");
phoneMap.put(5,"jkl");
phoneMap.put(6,"mno");
phoneMap.put(7,"pqrs");
phoneMap.put(8,"tuv");
phoneMap.put(9,"wxyz");
doCombination(result,digits,new StringBuilder(),phoneMap);
return result;
}
public void doCombination(List<String> combinationList,final String digits,StringBuilder prefix,Map<Integer,String> phoneMap){
if(prefix.length() == digits.length()){
combinationList.add(prefix.toString());
return ;
}
String phoneStr = phoneMap.get(digits.charAt(prefix.length()) - '0');
for(char c:phoneStr.toCharArray()){
prefix.append(c);
doCombination(combinationList,digits,prefix,phoneMap);
prefix.deleteCharAt(prefix.length()-1);
}
}
17.电话号码的字符组合
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...