LeetCode Note Java 00049:Group Anagrams
將輸入的 string array strs 依 Anagram (由相同字母池組成的單字) 分組後返回。
題目
Group Anagrams Medium
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.
解法
1 | class Solution { |
步驟:
用 之前 Valid Anagram 的方式 找出 Anagram。
將重新排序過的字串作為 HashMap 的 Key,來存放 Anagram Array。
最後回傳 HashMap 存放的 Arrays。
注意:
HashMap.values()
是個 Set 不能作為 List 型別回傳,所以要再用 ArrayList 包裝。
重點物件或方法:
HashMap
ArrayList
寫的時候會一直用錯 HashMap 跟 ArrayList 的泛型宣告,Collection 與 List 的關係也挺讓人混亂。要默寫出來需要對這些類別無比熟悉。
檢討
繞了一圈後發現這解法算是滿主流的,差在 code 的精簡度跟使用 List 的差異。
參考資料
Share my short JAVA solution
Java ArrayList
Java HashMap
Java HashMap values() 方法