链接:LeetCode17
过程:略
思路: 回溯来枚举
代码;
class Solution {
List<String> list=new ArrayList<>();
StringBuilder temp=new StringBuilder();
char[][] pattern=new char[][]{
{'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) {
if(digits==null||digits.length()==0)return list;
dfs(0,digits);
return list;
}
public void dfs(int cur,String digits){
if(cur==digits.length()){
list.add(temp.toString());
return;
}
int c=digits.charAt(cur)-'2';
for(char i=0;i<pattern[c].length;i++){
temp.append(pattern[c][i]);
dfs(cur+1,digits);
temp.delete(temp.length()-1,temp.length());
}
}
}
本文介绍了解决LeetCode17题目的方法,通过回溯算法实现电话号码的字母组合,详细展示了代码实现过程及核心思路。

被折叠的 条评论
为什么被折叠?



