Skip to content

Commit bea090b

Browse files
authored
Create ReturnKeypadCode.java
1 parent 7618b7b commit bea090b

File tree

1 file changed

+119
-0
lines changed

1 file changed

+119
-0
lines changed

Recursion-3/ReturnKeypadCode.java

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
public class solution {
2+
3+
4+
public static String[] keypad(int n){
5+
6+
if(n==0)
7+
{
8+
String ans[] = {""};
9+
return ans;
10+
}
11+
12+
String smallAns[] = keypad(n/10);
13+
char[] alpha = helper(n%10);
14+
15+
String current[];
16+
if(n%10=7 || n%10==9)
17+
{
18+
current = new String[smallAns.length*4];
19+
}
20+
else
21+
{
22+
current = new String[smallAns.length*3];
23+
}
24+
25+
int k = 0;
26+
int i =0;
27+
while(i<current.length)
28+
{
29+
for(int j = 0;j<alpha.length;j++)
30+
{
31+
current[i]= smallAns[k] + alpha[j];
32+
i++;
33+
34+
}
35+
k++;
36+
if(k==smallAns.length)
37+
{
38+
k=0;
39+
}
40+
}
41+
return current;
42+
43+
}
44+
45+
public static char[] helper(int n)
46+
{
47+
48+
if(n==2)
49+
{
50+
char ans[]=new char[3];
51+
ans[0]='a';
52+
ans[1]='b';
53+
ans[2]='c';
54+
return ans;
55+
}
56+
if(n==3)
57+
{
58+
char ans[]=new char[3];
59+
ans[0]='d';
60+
ans[1]='e';
61+
ans[2]='f';
62+
return ans;
63+
}
64+
if(n==4)
65+
{
66+
char ans[]=new char[3];
67+
ans[0]='g';
68+
ans[1]='h';
69+
ans[2]='i';
70+
return ans;
71+
}
72+
if(n==5)
73+
{
74+
char ans[]=new char[3];
75+
ans[0]='j';
76+
ans[1]='k';
77+
ans[2]='l';
78+
return ans;
79+
}
80+
if(n==6)
81+
{
82+
char ans[]=new char[3];
83+
ans[0]='m';
84+
ans[1]='n';
85+
ans[2]='o';
86+
return ans;
87+
}
88+
if(n==7)
89+
{
90+
char ans[]=new char[4];
91+
ans[0]='p';
92+
ans[1]='q';
93+
ans[2]='r';
94+
ans[3]='s';
95+
return ans;
96+
}
97+
if(n==8)
98+
{
99+
char ans[]=new char[3];
100+
ans[0]='t';
101+
ans[1]='u';
102+
ans[2]='v';
103+
return ans;
104+
}
105+
else
106+
{
107+
char ans[]=new char[4];
108+
ans[0]='w';
109+
ans[1]='x';
110+
ans[2]='y';
111+
ans[3]='z';
112+
return ans;
113+
}
114+
115+
116+
117+
}
118+
119+
}

0 commit comments

Comments
 (0)