2026-06-01 18:12:40 +08:00
|
|
|
#+ANKI_DECK: study_deck_02
|
2026-06-01 17:12:10 +08:00
|
|
|
* TODO 0049. Group Anagrams :medium:
|
2026-06-01 02:33:30 +08:00
|
|
|
:PROPERTIES:
|
2026-06-01 17:22:07 +08:00
|
|
|
:NEETCODE: [[file:../../roadmap.org::*0049. Group Anagrams][0049. Group Anagrams]]
|
2026-06-01 02:33:30 +08:00
|
|
|
:END:
|
|
|
|
|
|
2026-06-01 17:22:07 +08:00
|
|
|
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.
|
|
|
|
|
|
2026-06-01 02:39:53 +08:00
|
|
|
** TODO Approach
|
|
|
|
|
Write your approach here.
|
|
|
|
|
|
|
|
|
|
** TODO Python
|
|
|
|
|
#+begin_src python
|
2026-06-01 17:22:07 +08:00
|
|
|
class Solution:
|
|
|
|
|
def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
|
2026-06-01 02:39:53 +08:00
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
** TODO C++
|
2026-06-01 02:33:30 +08:00
|
|
|
#+begin_src cpp
|
2026-06-01 17:22:07 +08:00
|
|
|
class Solution {
|
|
|
|
|
public:
|
|
|
|
|
vector<vector<string>> groupAnagrams(vector<string>& strs) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
};
|
2026-06-01 02:33:30 +08:00
|
|
|
#+end_src
|