LeetCode 49. Group Anagrams
November 9, 2024
Working on hashmap problems now.
Solution
from collections import defaultdict
class Solution:
def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
indexToSortedWord = defaultdict(list)
for i, word in enumerate(strs):
indexToSortedWord[str(sorted(word))].append(i)
result = []
for groupIdx in indexToSortedWord.values():
group = []
for idx in groupIdx:
group.append(strs[idx])
result.append(group)
return result
O(n) = n * m * log(m) time complexity, and O(n) = n space complexity.