[LeetCode][c++][LeoLiuX]49. Group Anagrams

来源:互联网 发布:大数据算法 王宏志 编辑:程序博客网 时间:2024/05/22 11:41

49. Group Anagrams

Given an array of strings, group anagrams together.

For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"]
Return:

[  ["ate", "eat","tea"],  ["nat","tan"],  ["bat"]]
Note: All inputs will be in lower-case.

题目简介:输入一组字符串,返回分组字符串。

虽然是medium难度,但是难度很低。

代码简单易懂,通过排序后比对hashtable就可以将相应字符串存入相对位置。

代码如下:

class Solution {public:    vector<vector<string>> groupAnagrams(vector<string>& strs) {        vector<vector<string>> result;        vector<string> newRst;        unordered_map<string, int> strMap;        int cnt = 0;        for (int i=0; i<strs.size(); i++){            string curStr = strs[i];            sort(curStr.begin(), curStr.end());            if (strMap.find(curStr) == strMap.end()){                strMap[curStr] = cnt;                newRst = {strs[i]};                result.push_back(newRst);                cnt++;            }            else{                result[strMap[curStr]].push_back(strs[i]);            }        }        return result;    }};


0 0