字母异位词分组

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

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

示例 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)
};
相关推荐
光影少年11 小时前
浏览器渲染原理?
前端·javascript·前端框架
小白探索世界欧耶!~12 小时前
Vue2项目引入sortablejs实现表格行拖曳排序
前端·javascript·vue.js·经验分享·elementui·html·echarts
追随者永远是胜利者12 小时前
(LeetCode-Hot100)20. 有效的括号
java·算法·leetcode·职场和发展·go
掘根13 小时前
【C++STL】平衡二叉树(AVL树)
开发语言·数据结构·c++
叫我一声阿雷吧13 小时前
JS实现响应式导航栏(移动端汉堡菜单)|适配多端+无缝交互【附完整源码】
开发语言·javascript·交互
瓦特what?13 小时前
快 速 排 序
数据结构·算法·排序算法
niuniudengdeng13 小时前
基于时序上下文编码的端到端无文本依赖语音分词模型
人工智能·数学·算法·概率论
hetao173383713 小时前
2026-02-13~16 hetao1733837 的刷题记录
c++·算法
程序员林北北15 小时前
【前端进阶之旅】节流与防抖:前端性能优化的“安全带”与“稳定器”
前端·javascript·vue.js·react.js·typescript
寻星探路15 小时前
【前端基础】HTML + CSS + JavaScript 快速入门(三):JS 与 jQuery 实战
java·前端·javascript·css·c++·ai·html