难度:中等

    题目描述:
    给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。

    示例:

    1. 输入: ["eat", "tea", "tan", "ate", "nat", "bat"]
    2. 输出:
    3. [
    4. ["ate","eat","tea"],
    5. ["nat","tan"],
    6. ["bat"]
    7. ]

    解题思路:
    利用哈希表

    1. var groupAnagrams = function(strs) {
    2. let hash = new Map()
    3. for(let i = 0; i < strs.length; i++) {
    4. let str = strs[i].split('').sort().join()
    5. if(hash.has(str)) {
    6. let temp = hash.get(str)
    7. temp.push(strs[i])
    8. hash.set(str, temp)
    9. } else {
    10. hash.set(str, [strs[i]])
    11. }
    12. }
    13. return [...hash.values()]
    14. };