49. Group Anagrams

49. Group Anagrams

class Solution {
public:
    vector<vector<string>> groupAnagrams(vector<string>& strs) {
        map<string,vector<string>> mp;
        for(auto m :strs){
            string strtemp;
            strtemp = m;
            std::sort(m.begin(),m.end());
            if(mp.count(m)){
                mp[m].push_back(strtemp);
            }
            else
            {
                vector<string> v;
                v.push_back(strtemp);
                mp[m] = v;
            }
        }
        
        vector<vector<string>> ans;
        for(auto n:mp)
        {
            ans.push_back(n.second);
        }
        
        return ans;
    }
};