問題の説明#
文字列の配列が与えられたとき、アナグラム をグループ化してください。結果のリストは任意の順序で返すことができます。
アナグラム は、元の単語のすべての文字を再配置して得られる新しい単語です。
例 1:
入力: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]
出力: [["bat"],["nat","tan"],["ate","eat","tea"]]
例 2:
入力: strs = [""]
出力: [[""]]
例 3:
入力: strs = ["a"]
出力: [["a"]]
ヒント:
1 <= strs.length <= 10^4
0 <= strs[i].length <= 100
strs [i] は小文字のアルファベットのみを含む
考え方#
- アナグラムである文字列が含む文字は必ず同じであり、順序が異なるだけです。
- したがって、マップ構造を定義し、アナグラムである文字列を同じキーの下に置く必要があります。
- このキーは、文字列をソートするか、文字列の charcode 値の合計を取るか、文字の数をカウントする文字列を使用できます。