Leetcode算法练习 笔记记录
- 49. 字母异位词分组
49. 字母异位词分组
public List<List<String>> groupAnagrams(String[] strs) {
Map<String, List<String>> map = new HashMap<>();
for (int i = 0; i < strs.length; i++) {
//排序就是相同字符了,key相同则加入同一个list
char[] array = strs[i].toCharArray();
Arrays.sort(array);
if (map.containsKey(new String(array))){
List<String> list = map.get(new String(array));
list.add(strs[i]);
}else{
List<String> list = new ArrayList<>();
list.add(strs[i]);
map.put(new String(array), list);
}
}
return new ArrayList<>(map.values());
}