See More

49. Group Anagrams Given an array of strings, group anagrams together. For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"], Return: [ ["ate", "eat","tea"], ["nat","tan"], ["bat"] ] Note: All inputs will be in lower-case. public class Solution { public List> groupAnagrams(String[] strs) { Map> map = new HashMap>(); for(String str : strs){ // 将单词按字母排序 char[] carr = str.toCharArray(); Arrays.sort(carr); String key = new String(carr); List list = map.get(key); if(list == null){ list = new ArrayList(); } list.add(str); map.put(key, list); } List> res = new ArrayList>(); for(String key : map.keySet()){ List curr = map.get(key); res.add(curr); } return res; } }