标题: | Anagrams |
通过率: | 24.3% |
难度: | 中等 |
Given an array of strings, return all groups of strings that are anagrams.
Note: All inputs will be in lower-case.
leetcode没有表述清楚,本题就是一个字符串列表,找出回文字符。例子
a=["abc","bca","cab","edf"]
那么a中的前三个字符串是回文字符串,将他们排序后是一样的字符串,
所以利用python的dict去储存字符串,key值就是排序过的字符串,最后将values长度大于一的vluse输出
代码如下:
1 class Solution: 2 # @param strs, a list of strings 3 # @return a list of strings 4 def anagrams(self, strs): 5 maps,res={},[] 6 for tmp in strs: 7 sort_tmp="".join(sorted(tmp)) 8 if sort_tmp in maps: 9 maps[sort_tmp].append(tmp) 10 else : maps[sort_tmp]=[tmp] 11 for mapstr in maps.values(): 12 if len(mapstr)>1: 13 res+=mapstr 14 return res 15