-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLeetCode0049.java
More file actions
29 lines (25 loc) · 910 Bytes
/
Copy pathLeetCode0049.java
File metadata and controls
29 lines (25 loc) · 910 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* Group Anagrams
* Input: strs = ["eat","tea","tan","ate","nat","bat"]
* Output: [["bat"],["nat","tan"],["ate","eat","tea"]]
* */
import java.util.*;
public class LeetCode0049 {
public static void main(String args[]){
String[] strs = {"eat","tea","tan","ate","nat","bat"};
System.out.println(groupAnagrams(strs));
}
public static List<List<String>> groupAnagrams(String[] strs) {
if (strs.length == 0)
return new ArrayList<>();
Map<String, List> res = new HashMap<String, List>();
for (String s : strs){
char[] chars = s.toCharArray();
Arrays.sort(chars);
String key = String.valueOf(chars);
if (!res.containsKey(key))
res.put(key, new ArrayList());
res.get(key).add(s);
}
return new ArrayList(res.values());
}
}