49. Group Anagrams

Given an array of strings, group anagrams together.

Example:

Input: ["eat", "tea", "tan", "ate", "nat", "bat"],
Output:
[
  ["ate","eat","tea"],
  ["nat","tan"],
  ["bat"]
]

Note:

  • All inputs will be in lowercase.
  • The order of your output does not matter.

My solution

/**
 * @param {string[]} strs
 * @return {string[][]}
 */
var groupAnagrams = function(strs) {
  var m = new Map()
  var i = -1
  var l = strs.length
  while(++i<l) {
    const key = strs[i].split('').sort().join('')
    if (m.has(key)) m.get(key).push(strs[i])
    else m.set(key, [strs[i]])
  }
  return [...m.values()]
};

results matching ""

    No results matching ""