编程语言:Java
题目链接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/
题解:水题
难度:Medium
结果:
class Solution {
static List<String> list;
static String[][] strs={
{"a","b","c"},
{"d","e","f"},
{"g","h","i"},
{"j","k","l"},
{"m","n","o"},
{"p","q","r","s"},
{"t","u","v"},
{"w","x","y","z"}
};
public List<String> letterCombinations(String digits) {
list = new LinkedList<>();
if(digits.length()!=0)
dfs(digits, 0, new StringBuilder());
return list;
}
private void dfs(String digits, int step, StringBuilder str) {
if (step == digits.length()) {
list.add(str.toString());
} else {
int x=digits.charAt(step)-'0'-2;
for(int i=0;i<strs[x].length;i++){
str.append(strs[x][i]);
dfs(digits, step+1, str);
str.deleteCharAt(str.length()-1);
}
}
}
}