描述:给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
```
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.ArrayList;
class Solution {
public List
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");
LinkedList
List
if(digits==null || digits.length()==0)
return res;
dfs(map,digits,0,res,temp);
return res;
}
private void dfs(HashMap
if(index>digits.length()-1) {
StringBuffer s = new StringBuffer();
for(int i=0;i s.append(temp.get(i)); } res.add(s.toString()); return; } int n = digits.charAt(index)-'0'; String str = map.get(n); for(int i=0;i temp.add(str.charAt(i)); dfs(map,digits,index+1,res,temp); temp.pollLast(); } } } ```