题目链接:点击打开链接
类型:字符串处理
解法:建立词典库,将新来的每个数字字符对应的多个字符加到每个结果字符串中
public class Solution {
public List<String> letterCombinations(String digits) {
List<String> s = new LinkedList<>();
String[] map = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
if (digits == null || digits.length() < 1)
return s;
s.add("");
for (int i = 0 ; i < digits.length() ; i++)
{
String curr = map[digits.charAt(i)-'0'];
List<String> temp = new LinkedList<>();
for (int j = 0 ; j < s.size() ; j++)
{
for (char iter : curr.toCharArray())
{
temp.add(s.get(j) + iter);
}
}
s = temp;
}
return s;
}
}