- 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。
字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。
/**
* @param {string[]} strs
* @return {string[][]}
*/
var groupAnagrams = function(strs) {
const res = []
const map = new Map()
const len = strs.length
for(let i = 0; i < len; i++){
let str = strs[i]
str = str.split('').sort((a,b) => a.localeCompare(b)).join('')
if(map.has(str)){
map.get(str).push(i)
continue
}
map.set(str, [i])
}
map.forEach(item => {
const arr = []
for(let j = 0; j < item.length; j++){
arr.push(strs[item[j]])
}
res.push(arr)
})
return res
};