Letter Combinations of a Phone Number LeetCode solution in Java

1
class Solution {
2
String[] num = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
3

4
public List<String> letterCombinations(String digits) {
5
List<String> ll = new ArrayList<>();
6
StringBuilder sb = new StringBuilder();
7
if (digits.length() != 0) {
8
combination(digits.toCharArray(), ll, sb, 0);
9
}
10
return ll;
11
}
12

13
public void combination(char[] digits, List<String> ll, StringBuilder sb, int idx) {
14

15
if (sb.length() == digits.length) {
16
ll.add(sb.toString());
17
return;
18
}
19

20
String grp = num[digits[idx] - 48];
21
for (int i = 0; i < grp.length(); i++) {
22
sb.append(grp.charAt(i));
23
combination(digits, ll, sb, idx + 1);
24
sb.deleteCharAt(sb.length() - 1);
25
}
26
}
27
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0