LeetCode---49. Group Anagrams
阿新 • • 發佈:2018-12-13
LeetCode—49. Group Anagrams
題目
思路及解法
首先想到能夠使用hashmap解決這個問題。然後考慮key和value是什麼,我們要把字元相同的字串放到一起,所以value就可以是一個string的list,裝載分組相同的字串;key我們使用排序sort過的對應字元,注意要轉換為string。
程式碼
class Solution { public List<List<String>> groupAnagrams(String[] strs) { int strNum = strs.length; HashMap<String, List<String>> hm = new HashMap<>(); for(int i=0; i<strNum; i++){ char[] c = strs[i].toCharArray(); Arrays.sort(c); //排序 String key = String.valueOf(c); //轉換為string if(!hm.containsKey(key)) hm.put(key, new ArrayList<String>()); hm.get(key).add(strs[i]); } return new ArrayList<List<String>>(hm.values()); } }