#+ANKI_DECK: study_deck_02 * TODO 0049. Group Anagrams :medium: :PROPERTIES: :NEETCODE: [[file:../../roadmap.org::*0049. Group Anagrams][0049. Group Anagrams]] :END: Given an array of strings ~strs~, group the anagrams together. You can return the answer in *any order*. *Example 1:* *Input:* strs = ["eat","tea","tan","ate","nat","bat"] *Output:* [["bat"],["nat","tan"],["ate","eat","tea"]] *Explanation:* - There is no string in strs that can be rearranged to form ~"bat"~. - The strings ~"nat"~ and ~"tan"~ are anagrams as they can be rearranged to form each other. - The strings ~"ate"~, ~"eat"~, and ~"tea"~ are anagrams as they can be rearranged to form each other. *Example 2:* *Input:* strs = [""] *Output:* [[""]] *Example 3:* *Input:* strs = ["a"] *Output:* [["a"]] *Constraints:* - ~1 <= strs.length <= 10^{4}~ - ~0 <= strs[i].length <= 100~ - ~strs[i]~ consists of lowercase English letters. ** TODO Approach Write your approach here. ** TODO Python #+begin_src python :lc-problem 49 :lc-lang python3 class Solution: def groupAnagrams(self, strs: List[str]) -> List[List[str]]: #+end_src ** TODO C++ #+begin_src cpp :lc-problem 49 class Solution { public: vector> groupAnagrams(vector& strs) { } }; #+end_src