字母异分词分组
题目:字母异分词分组
给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。
字母异位词是由重新排列源单词的所有字母得到的一个新单词。
实现很简单,无非就是判断不同的单词是否是字母异分词。比如:eat和tea是同为字母异分词,我们依次将单词按字母进行拆分、排序和重组就可得到相同:aet,通过这个过程后再判断是否相等就可以按字母异分词就行分组。具体实现如下:
var groupAnagrams = function (strs) {
let map = new Map()
let strArr = strs.map(s => {
let arr = s.split('').sort()
return arr.toString()
})
for (let i = 0; i < strArr.length; i++) {
if (map.has(strArr[i])) {
map.set(strArr[i], [...map.get(strArr[i]), strs[i]])
} else {
map.set(strArr[i], [strs[i]])
}
}
let res = []
for (let k of map.keys()) {
res.push(map.get(k))
}
return res
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
上次更新: 2025/09/05, 8:09:00