Получен массив строк strs
.
Cгруппируйте анаграммы вместе. Ответ можно вернуть в любом порядке.
Анаграмма – это слово или фраза, образованные путем перестановки букв другого слова или фразы, обычно используя все исходные буквы ровно один раз.
Входные данные: strs = [“eat”,”tea”,”tan”,”ate”,”nat”,”bat”]
Результат: [[“bat”],[“nat”,”tan”],[“ate”,”eat”,”tea”]]
Входные данные: strs = [””]
Результат: [[””]]
Входные данные: strs = [“a”]
Результат: [[“a”]]
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
unordered_map<string, vector<string>> mp;
for (string s : strs) {
string t = s;
sort(t.begin(), t.end());
mp[t].push_back(s);
}
vector<vector<string>> anagrams;
for (auto p : mp) {
anagrams.push_back(p.second);
}
return anagrams;
}
};