- 字母异位词分组
- 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。
示例:
输入: ["eat", "tea", "tan", "ate", "nat", "bat"]
输出:
[
["ate","eat","tea"],
["nat","tan"],
["bat"]
]
说明:
所有输入均为小写字母。
不考虑答案输出的顺序。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/group-anagrams
解题思路:【c++】排序:先排序作为哈希表的key,然后将哈希表的value存储返回即可。【python 3】计数:每个相同的字母异位词其单个字母计数的组合排列是相同的,将其作为哈希表的key,得到哈希表的value返回即可。
Notes: 【c++】auto it = mp.begin(); (*it).first会得到key,(*it).second会得到value。这等同于it->first和it->second。
【Python 3】 mp = collections.defaultdict(list),mp->keys(), mp->values() 分别为key和value。list不能作为key,得变为元组tuple。
// c++
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string