leetcode 49
思路
通过一个哈希表进行记录每个分组,遍历strs,然后对每个字符串item进行排序,比如:'acb'
'bac'
'cab'
都会被排序为’abc’,然后以abc作为map的key,value就是存放所有匹配出来为key的值,最后把map中所有的value都返回
由于sort方法是数组才有的,所以会经历一系列的转换过程,字符串->数组->字符串
实现
var groupAnagrams = function (strs) {
const map = new Map();
for (let item of strs) {
// 对字符串进行排序
const newstr = [...item].sort().join('');
const list = map.get(newstr) || [];
list.push(item);
map.set(newstr, list)
}
return [...map.values()];
};