/**
* 49. 字母异位词分组<br>
* https://leetcode-cn.com/problems/group-anagrams/<br>
* 对数组中每个string排序去重然后分类<br>
*/
public class p49 {
public List<List<String>> groupAnagrams(String[] strs) {
List<List<String>> result = new ArrayList<>();
HashMap<String, Integer> table = new HashMap<>();
int index = 0;
for (int i = 0; i < strs.length; ++i) {
char[] chs = strs[i].toCharArray();
Arrays.sort(chs);
String afterSort = new String(chs);
if (table.containsKey(afterSort)) {
List<String> get = result.get(table.get(afterSort));
get.add(strs[i]);
} else {
table.put(afterSort, index++);
List<String> instance = new ArrayList<>();
instance.add(strs[i]);
result.add(instance);
}
}
return result;
}
}