
Leetcode Problem 49: Group Anagrams
Given an array of strings, group together all strings that are anagrams of each other (composed of the same characters with the same frequencies, in any order). Return the groups in any order.
Constraints:
function groupAnagrams(strs: string[]): string[][] {
let anagramGroups = new Map<string, string[]>()
for (let i = 0; i < strs.length; i++) {
let sorted = strs[i].split('').sort().join('')
if (anagramGroups.has(sorted)) {
anagramGroups.set(sorted, [...anagramGroups.get(sorted)!, strs[i]])
} else {
anagramGroups.set(sorted, [strs[i]])
}
}
return Array.from(anagramGroups.values())
};
console.log(groupAnagrams(["eat","tea","tan","ate","nat","bat"]))