今天解的題目是第四十九題Group Anagrams。這題的要求是將一組字串依照字母異位詞的關係進行分組。字母異位詞的定義是由相同字母組成,但排列順序不同的字串,例如 "eat"、"tea" 和 "ate" 就是典型的異位詞。解題思路是利用字母出現次數來判斷是否屬於同一組。我們建立一個字典作為容器,對每個字串計算其中 26 個字母的出現次數,並將這些次數組成一個長度為 26 的陣列,再把它轉換成不可變的 tuple 作為字典的 key。因為異位詞的字母分布完全相同,所以它們會被歸類到相同的 key 之下,進而被放到同一組中。遍歷完所有字串後,字典的值部分就會存放分組結果,最後將這些值取出並回傳即可。