字母异位词分组

给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。

字母异位词 是由重新排列源单词的所有字母得到的一个新单词。

示例 1:

输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]

输出: [["bat"],["nat","tan"],["ate","eat","tea"]]

示例 2:

输入: strs = [""]

输出: [[""]]

示例 3:

输入: strs = ["a"]

输出: [["a"]]

解法:

js 复制代码
/**
 * @param {string[]} strs
 * @return {string[][]}
 */
var groupAnagrams = function(strs) {
    if(strs.length===1) return [strs]
    const strsList = strs.map(str=>str.split('').sort().join())
    const map = {}
    for(let i=0;i<strs.length;i++){
        let key = strsList[i],value = strs[i]
        if(map[key]){
            map[key].push(value)
        } else {
            map[key] = [value]
        }
    }
    return Object.values(map)
};
相关推荐
Maỿbe1 分钟前
力扣hot图论部分
算法·leetcode·图论
LYFlied9 分钟前
【每日算法】LeetCode 78. 子集
数据结构·算法·leetcode·面试·职场和发展
月明长歌14 分钟前
【码道初阶】【Leetcode606】二叉树转字符串:前序遍历 + 括号精简规则,一次递归搞定
java·数据结构·算法·leetcode·二叉树
子枫秋月15 分钟前
C++字符串操作与迭代器解析
数据结构·算法
鹿角片ljp15 分钟前
力扣234.回文链表-反转后半链表
算法·leetcode·链表
(●—●)橘子……16 分钟前
记力扣1471.数组中的k个最强值 练习理解
数据结构·python·学习·算法·leetcode
兔老大的胡萝卜17 分钟前
pm2 部署nuxt4项目
javascript·nuxt4
oioihoii19 分钟前
C++共享内存小白入门指南
java·c++·算法
阿蒙Amon19 分钟前
JavaScript学习笔记:17.闭包
javascript·笔记·学习
Bruce_kaizy21 分钟前
c++图论————图的基本与遍历
c++·算法·图论