49. 字母异位词分组
leetcode Hot 100系列
文章目录
- 一、核心操作
- 二、外层配合操作
- 三、核心模式代码
- 总结
一、核心操作
- 先把每一个词都排序,拍完之后相同的就是字母异位词
- 使用map,排序完的作为key,一个string数组作为value
- 对于每一个词,排完序之后将其直接插入
提示:小白个人理解,如有错误敬请谅解!
二、外层配合操作
- 循环
- 用 [ _ , value ]可以输出指定位置的value值
三、核心模式代码
代码如下:
class Solution {
public:
std::vector<std::vector<std::string>> groupAnagrams(std::vector<std::string>& strs) {
std::vector<std::vector<std::string>> res;
std::unordered_map<std::string,std::vector<std::string>> umap;
for(int i=0;i<strs.size();i++)
{
std::string temp=strs[i];
sort(strs[i].begin(),strs[i].end());
umap[strs[i]].push_back(temp);
}
for(auto [_, value] : umap)
{
res.push_back(value);
}
return res;
}
};
总结
- 排序之后作为key,按照key直接插入