diff options
Diffstat (limited to 'other/group_anagrams.cpp')
-rw-r--r-- | other/group_anagrams.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/other/group_anagrams.cpp b/other/group_anagrams.cpp new file mode 100644 index 0000000..a2a7c8a --- /dev/null +++ b/other/group_anagrams.cpp @@ -0,0 +1,18 @@ +#include "leetcode.h" + +class Solution { +public: + vvd(string) groupAnagrams(vector<string> &strs) { + map<array<int, 26>, vector<string>> groups; + for (string s : strs) { + array<int, 26> hash = {0}; + for (char c : s) + ++hash[c - 'a']; + groups[hash].push_back(s); + } + vvd(string) ans; + for (auto [hash, group] : groups) + ans.push_back(group); + return ans; + } +}; |