class Solution{
List<String> ans =newArrayList<>();
构建map存放元素
Map<String, String> map =newHashMap<String, String>(){{put("2","abc");put("3","def");put("4","ghi");put("5","jkl");put("6","mno");put("7","pqrs");put("8","tuv");put("9","wxyz");}};
方法入口
public List<String>letterCombinations(String digits){if(digits.length()==0|| digits ==null)return ans;dfs(digits,0,"");return ans;}
递归方法
public void dfs(String digits, int step, String answer){if(step == digits.length()){
ans.add(answer);return;}
char c = digits.charAt(step);
String value = map.get(c +"");for(int i =0; i < value.length(); i++){dfs(digits, step +1, answer + value.charAt(i));}}}
实际上是一个树形结构
a b c
d e f d e f d e f
g h i g h i g h i 。。。。
来源:https://www.cnblogs.com/qinyuguan/