49. Group Anagrams
Anagram 的特性就是裡面的每個字元出現的頻率相同,如果經過排序的話,只要是 Anagram 就一定會一樣。
利用這個特性,我們將每個詞都排序過,當作 key ,在 Hash table 裡面去把每個 anagram 加到那個 arrary 裡面。
class Solution:
def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
table = defaultdict(list)
for s in strs:
table[tuple(sorted(s))].append(s)
return table.values()