LeetCode (Group Anagrams)

来源:互联网 发布:唯品会和淘宝哪个靠谱 编辑:程序博客网 时间:2024/06/07 14:34

Problem:

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.

Solution:

class Solution {public:    vector<vector<string>> groupAnagrams(vector<string>& strs) {        if (strs.empty() || strs.size() == 1)            return {strs};        vector<vector<string>> ans;        unordered_map<string, vector<string>> m;        for (string s : strs){            string s1 = s;            sort(s1.begin(), s1.end());            m[s1].push_back(s);        }        unordered_map<string, vector<string>>::iterator it;        for (it = m.begin(); it != m.end(); it++){            ans.push_back(it->second);        }        return ans;    }};


0 0
原创粉丝点击