Skip to content

Commit 871090a

Browse files
committed
return keypad
1 parent 2ba3f00 commit 871090a

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
2+
public class Recursion2_ReturnKeypadCode {
3+
4+
public static String[] keypad(int n){
5+
// Write your code here
6+
7+
if (n==0){
8+
String ans[] = {""};
9+
return ans;
10+
}
11+
12+
13+
String[] smallAns = keypad(n/10);
14+
String[] options = keymap(n%10);
15+
16+
String ans[] = new String[smallAns.length * options.length];
17+
18+
int k = 0;
19+
for (int i = 0; i<smallAns.length;i++){
20+
//ans[i] = smallAns[i];
21+
for(int j = 0; j<options.length; j++){
22+
ans[k] = smallAns[i] + options[j];
23+
k++;
24+
}
25+
}
26+
27+
return ans;
28+
29+
}
30+
31+
32+
private static String[] keymap(int n){
33+
if (n==0 || n==1){
34+
String ans[] = {""};
35+
return ans;
36+
}
37+
38+
else if (n==2){
39+
String ans[] = {"a","b","c"};
40+
return ans;
41+
}
42+
43+
else if (n==3){
44+
String ans[] = {"d","e","f"};
45+
return ans;
46+
}
47+
48+
else if(n==4){
49+
String ans[] = {"g","h","i"};
50+
return ans;
51+
}
52+
53+
else if(n==5){
54+
String ans[] = {"j","k","l"};
55+
return ans;
56+
}
57+
58+
else if(n==6){
59+
String ans[] = {"m","n","o"};
60+
return ans;
61+
}
62+
63+
else if(n==7){
64+
String ans[] = {"p","q","r","s"};
65+
return ans;
66+
}
67+
68+
else if(n==8){
69+
String ans[] = {"t","u","v"};
70+
return ans;
71+
}
72+
73+
else if(n==9){
74+
String ans[] = {"w","x","y","z"};
75+
return ans;
76+
}
77+
return null;
78+
}
79+
80+
}

0 commit comments

Comments
 (0)