def groupAnagrams(strs: list[str])->list[str]: """ :type strs: List[str] :rtype: List[List[str]] """ strs_table = {} # print(f'sorted string is {sorted(string)}') for string in strs: # Sort the string sorted_string = ''.join(sorted(string)) print(f'sorted string is {sorted_string}') # Place the sorted string into the dict table if it's not been seen if sorted_string not in strs_table: # Create new key if not seen before strs_table[sorted_string] = [] # print(strs_table) # print(strs_table) # add string to key strs_table[sorted_string].append(string) return list(strs_table.values()) print(groupAnagrams(["eat","tea","tan","ate","nat","bat"])) print(groupAnagrams(["",""]))