import java.util.ArrayList;
public class GetKpc {
static String[] codes = {".;", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tu", "vwx", "yz"};
public static void main(String[] args) {
String str = "12";
ArrayList<String> ans = getKPC(str);
System.out.println(ans);
}
private static ArrayList<String> getKPC(String str) {
// base case
if (str.length() == 0) {
ArrayList<String> rem = new ArrayList<>();
rem.add("");
return rem;
}
int firstNum = str.charAt(0) - '0';
String firstValue = codes[firstNum];
String remString = str.substring(1);
// faith
ArrayList<String> faith = getKPC(remString);
// expectation meet faith
ArrayList<String> ans = new ArrayList<>();
for (String f : faith) {
for (int i = 0; i < firstValue.length(); i++) {
ans.add(firstValue.charAt(i) + f);
}
}
return ans;
}
}
No comments:
Post a Comment