字母异位词分组
拟人算法系列文章,以容易理解的方式描述算法,点赞收藏不迷路
class Solution:
def groupAnagrams(self, strs: list[str]) -> list[list[str]]:
dict_ = {}
for s in strs:
s_ = "".join(sorted(s))
if s_ not in dict_:
dict_[s_] = [s]
else:
dict_[s_].append(s)
return list(dict_.values())
if __name__ == '__main__':
strs = ["abc","ddd","aaa","cba"]
s = Solution()
print(s.groupAnagrams(strs)) # [['abc', 'cba'], ['ddd'], ['aaa']]
将每个字符串重新排序后作为字典键,进行分组