Group Anagrams LeetCode solution in Java

1
class Solution {
2
public List<List<String>> groupAnagrams(String[] strs) {
3
HashMap<String, ArrayList<String>> hm = new HashMap<>();
4
for (String s : strs) {
5
char ch[] = s.toCharArray();
6
Arrays.sort(ch);
7
StringBuilder sb = new StringBuilder("");
8
for (char c : ch) {
9
sb.append(c);
10
}
11
String str = sb.toString();
12
if (hm.containsKey(str)) {
13
ArrayList<String> temp = hm.get(str);
14
temp.add(s);
15
hm.put(str, temp);
16
} else {
17
ArrayList<String> temp = new ArrayList<>();
18
temp.add(s);
19
hm.put(str, temp);
20
}
21
}
22
System.out.println(hm);
23
List<List<String>> res = new ArrayList<>();
24
for (ArrayList<String> arr : hm.values()) {
25
res.add(arr);
26
}
27
return res;
28
}
29
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0