可以通过案例找到规律,每个词排序完后是同一个,所以通过hasmap存储排序过的值做key,值是存储单词集合。
package HasTable;
import java.util.*;
class Solution {
static List<List<String>> groupAnagrams(String[] strs) {
Map<String, List<String>> map = new HashMap<String, List<String>>();
for (String str : strs) {
char[] array = str.toCharArray();
Arrays.sort(array);
String key = new String(array);
List<String> list = map.get(key);
if (list==null){
list = new ArrayList<>();
map.put(key, list);
}
list.add(str);
}
return new ArrayList<List<String>>(map.values());
}
}