aboutsummaryrefslogtreecommitdiff
path: root/other/group_anagrams.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'other/group_anagrams.cpp')
-rw-r--r--other/group_anagrams.cpp18
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;
+ }
+};