Given an array of strings, group anagrams together.
Example:
Input: ["eat", "tea", "tan", "ate", "nat", "bat"]
,
Output:
[
["ate","eat","tea"],
["nat","tan"],
["bat"]
]
Note:
- All inputs will be in lowercase.
- The order of your output does not matter.
LeetCode:链接
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。
首先对所给的字符串列表(数组)进行排序,即对其中的每一个字符串都进行排序,然后用hash map判断哪些字符串是归位一组的。 返回字典的value值即可。
class Solution(object):
def groupAnagrams(self, strs):
"""
:type strs: List[str]
:rtype: List[List[str]]
"""
mydict = {}
for str in strs:
# 对str进行排序
str_ = ''.join(sorted(str))
if str_ in mydict:
mydict[str_].append(str)
# 定义的是列表形式
else:
mydict[str_] = [str]
# 返回的是value值
return mydict.values()