字母异位词分组

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

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

示例 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)
};
相关推荐
UpgradeLink19 小时前
Electron 项目使用官方组件 electron-builder 进行跨架构打包
前端·javascript·electron
发疯幼稚鬼19 小时前
希尔排序与堆排序
c语言·数据结构·算法·排序算法
小尧嵌入式19 小时前
Linux的shell命令
linux·运维·服务器·数据库·c++·windows·算法
Jeremy爱编码19 小时前
leetcode热题路径总和 III
算法·leetcode·职场和发展
CoovallyAIHub19 小时前
滑雪季又来了!如何用计算机视觉帮雪场解决最头疼的问题
深度学习·算法·计算机视觉
Moment19 小时前
别再让 JavaScript 抢 CSS 的活儿了,css原生虚拟化来了
前端·javascript·css
晓得迷路了19 小时前
栗子前端技术周刊第 110 期 - shadcn/create、Github 更新 npm 令牌政策、Deno 2.6...
前端·javascript·css
前端小端长19 小时前
项目里满是if-else?用这5招优化if-else让你的代码清爽到飞起
开发语言·前端·javascript
笨小孩78719 小时前
Flutter跨平台开发全解析:从原理到实战的深度指南
javascript·react native·react.js
懂AI的老郑19 小时前
深入理解C++中的堆栈:从数据结构到应用实践
java·数据结构·c++