leetcode个人题解——#49 Group Anograms
Posted txltxl22
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode个人题解——#49 Group Anograms相关的知识,希望对你有一定的参考价值。
思路:利用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的主要内容,如果未能解决你的问题,请参考以下文章
一天一道LeetCode#49. Group Anagrams