字母异位词分组

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

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

示例 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)
};
相关推荐
Wect5 分钟前
LeetCode 530. 二叉搜索树的最小绝对差:两种解法详解(迭代+递归)
前端·算法·typescript
Rabbit_QL5 分钟前
【BPE实战】从零实现 BPE 分词器:训练、编码与解码
python·算法·nlp
Railshiqian10 分钟前
给android源码下的模拟器添加两个后排屏的修改
android·开发语言·javascript
小O的算法实验室18 分钟前
2024年IEEE TII SCI1区TOP,面向动态多目标多AUV路径规划的协同进化计算算法,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
Charlie_lll19 分钟前
力扣解题-88. 合并两个有序数组
后端·算法·leetcode
敲敲了个代码43 分钟前
[特殊字符] 空数组的迷惑行为:为什么 every 为真,some 为假?
前端·javascript·react.js·面试·职场和发展
菜鸡儿齐1 小时前
leetcode-最小栈
java·算法·leetcode
雪人不是菜鸡1 小时前
简单工厂模式
开发语言·算法·c#
岛雨QA1 小时前
常用十种算法「Java数据结构与算法学习笔记13」
数据结构·算法
weiabc1 小时前
printf(“%lf“, ys) 和 cout << ys 输出的浮点数格式存在细微差异
数据结构·c++·算法