Journal Archive

/**
 * @param {string[]} strs
 * @return {string[][]}
 */
var groupAnagrams = function(strs) {
	// store hashmap of anagrams
    const hashMap = new Map();
    for (let str of strs) {
        let curStr = str.split("").sort().join("");
        hashMap.has(curStr) ? hashMap.set(curStr, [...hashMap.get(curStr), str]) :
          hashMap.set(curStr, [str]);
    }
	
    return [...hashMap.values()];
};

Day 72: Solving one of LeetCode problems

49. Group Anagrams Difficulty - Medium

Given an array of strings strs, group the anagrams together. You can return the answer in any order.

An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once.

 

Example 1:

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

Example 2:

Input: strs = [""]
Output: [[""]]
		

Example 3:

Input: strs = ["a"]
Output: [["a"]]