用递归进行全排列:
例如"23"
public class LC0017 {
static String arrs[]=new String[]{"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
List<String> lists=new ArrayList<>();
public List<String> letterCombinations(String digits) {
if(digits.equals(""))return lists;
dfs(digits,0,new StringBuilder());
return lists;
}
void dfs(String digits,int index,StringBuilder str){
//递归出口
if(index==digits.length()) {
lists.add(str.toString());
return;
}
//当不满足出口条件时
char digit=digits.charAt(index);
String arr=arrs[digit-'0'];
for(int i=0;i<arr.length();i++){
str.append(arr.charAt(i));
dfs(digits,index+1,str);
str.deleteCharAt(index);
}
}
}