力扣面试150(35/150)
7.21 49. 字母异位词分组
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。
我的思路:
哈希遍历:
对strs进行遍历,每一个词语都要进行按照字母的排序
键值对就是字符-arr中的位置
我的代码:
var groupAnagrams = function(strs) {let i = 0 ;let arr = [];const groupMap = new Map();for(let item of strs){let newItem = item.split('').sort().join('');console.log(newItem);if(groupMap.has(newItem)){let num = groupMap.get(newItem);arr[num].push(item);}else {groupMap.set(newItem , i);arr[i] = [item];i++;}}return arr;
};
总结:
通过排序字符串来识别字母异位词,并使用Map和数组将它们分组存储。