public class Solution {
public List<String> letterCombinations(String digits) {
list=new ArrayList<String>();
if(digits.length()==0)return list;
StringBuffer path=new StringBuffer();
map=new HashMap<Character, String>();
init();
helper(digits,0,path);
return list;
}
HashMap<Character, String> map;
List<String> list;
void init()
{
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");
}
void helper(String digits, int index, StringBuffer path)
{
if(index==digits.length())
{
list.add(path.toString());
}
else
{
char c=digits.charAt(index);
if(c=='0'||c=='1')return;
String match=map.get(c);
for(int i=0;i<match.length();i++)
{
path.append(match.charAt(i));
helper(digits,index+1,path);
path.deleteCharAt(path.length()-1);
}
}
}
}
Leetcode letter combination of a phone number
最新推荐文章于 2020-10-13 06:37:16 发布