字母异位词分组

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

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

示例 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)
};
相关推荐
凉茶钱2 小时前
【数据结构】计数排序
数据结构·算法·排序算法
索西引擎2 小时前
【Vue】Vue.js 3 声明式渲染架构的设计原理与模块协同机制研究
前端·javascript·vue.js
_不会dp不改名_3 小时前
leetcode3875_构造奇偶一致的数组 I
leetcode
dtq04244 小时前
数据结构 - 线性表 - 双向链表
c语言·数据结构·学习
mayaairi4 小时前
Vue2 事件绑定完全指南:从入门到原理
前端·javascript·vue.js
不正经学生8 小时前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
ℋᙚᵐⁱᒻᵉ鲸落10 小时前
移动端滑动手势冲突:overflow: auto导致外层横向滑动失效
前端·javascript·css·vue.js·html
毕竟是shy哥10 小时前
计算YOLO数据集中每个类的目标数
算法·yolo·机器学习
M78佐菲10 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法
圣保罗的大教堂11 小时前
leetcode 1406. 石子游戏 III 困难
leetcode