标签:匹配 映射 利用 return cto etc nbsp 容器 元素
思路:利用c++ stl的map来实现关键字匹配,
遍历strs容器类,对其中每一个string进行按字典序排序后,查找是否存在这样一个键,如不存在,存储该键,并将str[i]作为键映射的第一个元素;如存在,将str[i]添加到该键映射的vector<string>里。
最后用迭代器将map的映射即iter->second复制到题目要求返回的类型容器中。
class Solution { public: vector<vector<string>> groupAnagrams(vector<string>& strs) { typedef map<string, vector<string>> mstring; mstring res; const int Size = strs.size(); for(int i = 0;i < Size; i++){ string key = strs[i]; sort(key.begin(), key.end()); if(res.find(key) == res.end()) res[key] = {strs[i]}; else res[key].push_back(strs[i]); } vector<vector<string>> ans; for(mstring::iterator iter = res.begin(); iter != res.end(); iter++) ans.push_back(iter->second); return ans; } };
leetcode个人题解——#49 Group Anograms
标签:匹配 映射 利用 return cto etc nbsp 容器 元素
原文地址:https://www.cnblogs.com/txltxl22/p/10476884.html