Group Anagrams
题目地址:
https://leetcode.com/problems/group-anagrams/#/description
题目:
解题思路:
这道题主要就是用map来存string和list的pair。string作为key是按照字母排好序的。
代码:
https://leetcode.com/problems/group-anagrams/#/description
题目:
Given an array of strings, group anagrams together.
For example, given:
Return:
["eat", "tea", "tan", "ate", "nat", "bat"], Return:
[ ["ate", "eat","tea"], ["nat","tan"], ["bat"] ]
Note: All inputs will be in lower-case.
解题思路:
这道题主要就是用map来存string和list的pair。string作为key是按照字母排好序的。
代码:
public List<List<String>> groupAnagrams(String[] strs) { Map<String, List<String>> map = new HashMap<>(); for(String s : strs){ char[] chars = s.toCharArray(); Arrays.sort(chars); String key = String.valueOf(chars); List<String> list = map.get(key); if(list == null){ list = new ArrayList<>(); } list.add(s); map.put(key, list); } List<List<String>> rst = new ArrayList<>(); for(String key : map.keySet()){ List<String> list = map.get(key); Collections.sort(list); rst.add(list); } return rst; }

Comments
Post a Comment