leetcode------Anagrams

标题: 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         

 

posted @ 2015-04-10 10:21  pku_smile  阅读(127)  评论(0编辑  收藏  举报