Categories
interview

Group Anagrams

Group Permutations of the same strings in a given list in Javascript:

/**
 * @param {string[]} strs
 * @return {string[][]}
 */
const groupAnagrams = function(strs) {
  const obj = {};
  for (const str of strs) {
    const key = str.split('').sort().join('');
    (obj[key] || (obj[key] = [])).push(str);
  }
  return Object.values(obj);
};

console.log(groupAnagrams(['abc', 'bbc', 'cab', 'ccc']));
// [["abc", "cab"], ["bbc"], ["ccc"]]

Demo