自学内容网 自学内容网

leetcode49-字母异位词分组

leetcode 49
在这里插入图片描述

思路

通过一个哈希表进行记录每个分组,遍历strs,然后对每个字符串item进行排序,比如:'acb' 'bac' 'cab'都会被排序为’abc’,然后以abc作为map的key,value就是存放所有匹配出来为key的值,最后把map中所有的value都返回
由于sort方法是数组才有的,所以会经历一系列的转换过程,字符串->数组->字符串

实现

var groupAnagrams = function (strs) {
    const map = new Map();
    for (let item of strs) {
        // 对字符串进行排序
        const newstr = [...item].sort().join('');
        const list = map.get(newstr) || [];
        list.push(item);
        map.set(newstr, list)
    }
    return [...map.values()];
};

原文地址:https://blog.csdn.net/weixin_45799371/article/details/145265166

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!