解題思路
anagram 經過 sort 後會長的一樣,用這個特性以 map 與 vector 紀錄,再轉成指定的型態回傳。
程式碼
class Solution { public: vector<vector<string>> groupAnagrams(vector<string>& strs) { unordered_map<string, vector<int>> mp; // word -> index string s; for(int i=0; i<strs.size(); i++) { s = strs[i]; sort(s.begin(), s.end()); mp[s].push_back(i); } vector<vector<string>> ans; for(auto word : mp) { vector<string> v; for(int i=0; i<word.second.size(); i++) { v.push_back(strs[word.second[i]]); } ans.push_back(v); } return ans; } };
沒有留言:
張貼留言