In this post, we are going to solve the Group Anagrams Leetcode Solution problem of Leetcode. This Leetcode problem is done in many programming languages like C++, Java, and Python.

Problem
Given an array of strings strs
, group the anagrams together. You can return the answer in any order.
An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once.
Example 1:
Input: strs = ["eat","tea","tan","ate","nat","bat"] Output: [["bat"],["nat","tan"],["ate","eat","tea"]]
Example 2:
Input: strs = [""] Output: [[""]]
Example 3:
Input: strs = ["a"] Output: [["a"]]
Constraints:
1 <= strs.length <= 104
0 <= strs[i].length <= 100
strs[i]
consists of lowercase English letters.
Now, let’s see the leetcode solution of Group Anagrams Leetcode Solution.
Group Anagrams Leetcode Solution in Python
class Solution: def groupAnagrams(self, strs: List[str]) -> List[List[str]]: dict = defaultdict(list) for str in strs: key = ''.join(sorted(str)) dict[key].append(str) return dict.values()
Group Anagrams Leetcode Solution in CPP
class Solution { public: vector<vector<string>> groupAnagrams(vector<string>& strs) { vector<vector<string>> ans; unordered_map<string, vector<string>> keyToAnagrams; for (const string& str : strs) { string key = str; sort(begin(key), end(key)); keyToAnagrams[key].push_back(str); } for (const auto& [_, anagrams] : keyToAnagrams) ans.push_back(anagrams); return ans; } };
Group Anagrams Leetcode Solution in Java
class Solution { public List<List<String>> groupAnagrams(String[] strs) { Map<String, List<String>> keyToAnagrams = new HashMap<>(); for (final String str : strs) { char[] chars = str.toCharArray(); Arrays.sort(chars); String key = String.valueOf(chars); keyToAnagrams.computeIfAbsent(key, k -> new ArrayList<>()).add(str); } return new ArrayList<>(keyToAnagrams.values()); } }
Note: This problem Group Anagrams is generated by Leetcode but the solution is provided by Chase2learn This tutorial is only for Educational and Learning purposes.
NEXT: Pow(x, n)