//回溯法
public List<String> letterCombinations(String digits) {
List<String> result = new ArrayList<>();
if (digits.length() == 0) {
return result;
}
Map<Character,String> map = new HashMap<>();
map.put('2',"abc");
map.put('3',"def");
map.put('4',"ghi");
map.put('5',"jkl");
map.put('6',"mno");
map.put('7',"pqrs");
map.put('8',"tuv");
map.put('9',"wxyz");
AllSituation(result,map,digits,0,new StringBuffer());
return result;
}
private void AllSituation(List<String> result, Map<Character, String> map, String digits, int index, StringBuffer cur) {
if (index == digits.length()) {
result.add(cur.toString());
}else {
char c = digits.charAt(index);
String s = map.get(c);
for (int i = 0;i<s.length();i++) {
cur.append(s.charAt(i));
AllSituation(result,map,digits,index+1,cur);
cur.deleteCharAt(index);//回退
}
}
}
力扣-电话号码的字母组合
最新推荐文章于 2024-06-18 15:18:43 发布