From ad3c0eef54c8725240522339f4a16b215fd69458 Mon Sep 17 00:00:00 2001 From: SquidSpirit Date: Fri, 14 Mar 2025 23:23:47 +0800 Subject: [PATCH] feat: 49_group_anagrams --- 49_group_anagrams/main.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 49_group_anagrams/main.cpp diff --git a/49_group_anagrams/main.cpp b/49_group_anagrams/main.cpp new file mode 100644 index 0000000..92282ba --- /dev/null +++ b/49_group_anagrams/main.cpp @@ -0,0 +1,28 @@ +#include +using namespace std; + +class Solution { + public: + vector> groupAnagrams(vector& strs) { + unordered_map> anagrams; + + for (auto& str : strs) { + string originalStr(str); + sort(str.begin(), str.end()); + + auto iter = anagrams.find(str); + if (iter == anagrams.end()) { + anagrams.insert({str, {originalStr}}); + } else { + iter->second.emplace_back(originalStr); + } + } + + vector> result; + for (auto& [key, value] : anagrams) { + result.emplace_back(value); + } + + return result; + } +};