题目描述:
题解:
之前在《编程珠玑》中见到过合并变位词组的问题,分两步解决:
<1>对每个单词按照字母表顺序排列,互为变位词的单词结果应该相同。
<2>将结果相同的单词合并。
其中第一步将原单词与排列后单词的对应使用dict实现,然后将dict中的values提取合并在一个list中。
class Solution(object): def groupAnagrams(self, strs): mydict = {} myresult = [] for word in strs: newword = "".join(sorted(word)) if newword in mydict.keys(): mydict[newword].append(word) else: mydict[newword]=[] mydict[newword].append(word) for i in mydict.keys(): myresult.append(mydict[i]) return myresult
通过是通过了,但没想到这个方法这么慢。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)