leetcode【數組和字符串】-----49. Group Anagrams(字謎分組)

一、題目描述

        數組

二、分析

        其實就是把含有相同字符而且出現次數相同的分爲一個組,咱們能夠使用map來統計,遍歷當前數組,對每個字符串進行排序,以後放入map中,最後再從map中取出結果。map的兩個參數一個是排序後映射的字符串,第二個參數則是這個映射的字符串在原字符串數組中的各個表現,也就是第二個參數是一個字符串數組。code

三、代碼

class Solution {
public:
    vector<vector<string>> groupAnagrams(vector<string>& strs) {
        vector<vector<string>> res;
        int len=strs.size();
        if(len==0) return res;
        map<string,vector<string>> m_res;
        for(int i=0;i<len;++i){
            string s=strs[i];
            sort(s.begin(),s.end());
            m_res[s].push_back(strs[i]);
        }
         map<string,vector<string>>::iterator it;
        for(it=m_res.begin();it!=m_res.end();++it){
            res.push_back(it->second);
        }
        return res;
    }
};
相關文章
相關標籤/搜索