题目
分析
常规的递归操作,是一个枚举过程
代码
import java.util.*; public class Solution { public ArrayList<String> letterCombinations(String digits) { String[] map = {"abc","def", "ghi","jkl","mno","pqrs","tuv","wxyz"}; String[] strs=new String[digits.length()]; for(int i=0;i<digits.length();i++) { int temp=Integer.parseInt(String.valueOf(digits.charAt(i))); strs[i]=map[temp-2]; } ArrayList<String> res=new ArrayList<>(); f("",strs,0,res); return res; } public static void f(String str,String[] strs,int index,ArrayList<String> res) { if(index==strs.length) { res.add(str); return ; } for(int i=0;i<strs[index].length();i++) { String temp=String.valueOf(strs[index].charAt(i)); f(str+temp,strs,index+1,res); } } }
完成情况
1次