leetcode 17
电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
值得注意的地方是 7和9是4个所以我的代码有点奇怪。
本质上是考虑为向量乘积,定义乘法。
class Solution {
public List<String> cs(List<String> a,List<String> b)
{
List<String> l=new ArrayList<String>();
for(int i=0;i<a.size();i++)
{
for(int j=0;j<b.size();j++)
{
String p=a.get(i)+b.get(j);
l.add(p);
}
}
return l;
}
public List<String> letterCombinations(String digits) {
List<String> al=new ArrayList<String>();
if(digits.length()<=0) return al;
if(digits.charAt(0)=='7')
{
al.add("p");al.add("q");al.add("r");al.add("s");
}
else if(digits.charAt(0)=='8')
{
al.add("t");al.add("u");al.add("v");
}
else if(digits.charAt(0)=='9')
{
al.add("w");al.ad