49 字母异位词分组
题目给你一个字符串数组请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。示例 1:输入: strs [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]解释在 strs 中没有字符串可以通过重新排列来形成 “bat”。字符串 “nat” 和 “tan” 是字母异位词因为它们可以重新排列以形成彼此。字符串 “ate” “eat” 和 “tea” 是字母异位词因为它们可以重新排列以形成彼此。示例 2:输入: strs [“”]输出: [[“”]]示例 3:输入: strs [“a”]输出: [[“a”]]思路由于排序后的str顺序一致所以创建一个hash map遍历一遍vector将排序后的str作为key原数组的str作为value存在对应的key下然后往res里面存入hash map里面的value即可。代码classSolution{public:vectorvectorstringgroupAnagrams(vectorstringstrs){unordered_mapstring,vectorstringmp;vectorvectorstringres;for(inti0;istrs.size();i){string valuestrs[i];sort(strs[i].begin(),strs[i].end());mp[strs[i]].emplace_back(value);}for(autoit:mp){res.emplace_back(it.second);}returnres;}};