49 Group Anagrams
49 Group Anagrams class Solution { public List<List<String>> groupAnagrams(String[] strs) { HashMap<String, List<String>> map = new HashMap<>(); for(String s: strs){ char[] current = s.toCharArray(); Arrays.sort(current); String word = String.valueOf(current); if(!map.containsKey(word)){ map.put(word, new ArrayList<String>()); } map.get(word).add(s); } return new ArrayList<List<String>>(map.values()); } } // unfamiliar APIs char[] ca = s.toCharArray(); Arrays.sort(ca); String keyStr = String.valueOf(ca); map.put(keyStr, new ArrayList<String>()); map.get(keyStr).add(s); return new ArrayList<List<String>>(map.values()); }
Given an array of strings, group anagrams together.
Example:
Input: ["eat", "tea", "tan", "ate", "nat", "bat"],
Output:
[
["ate","eat","tea"],
["nat","tan"],
["bat"]
]
Note:
- All inputs will be in lowercase.
- The order of your output does not matter.
优化时间
posted on 2018-08-09 17:38 猪猪🐷 阅读(128) 评论(0) 收藏 举报
浙公网安备 33010602011771号