Leetcode hot100_49.字母异位词分组
题目链接:49. 字母异位词分组 - 力扣(LeetCode)
暴力解法套for循环 不是很想这么做捏
先想到了整个数组排序后再一个一个扫描。可以直接对每个小字符串进行排序然后一样的加入map
1 class Solution { 2 public List<List<String>> groupAnagrams(String[] strs) { 3 Map<String, List<String>> map = new HashMap<>(); 4 for(int i = 0;i < strs.length;i++){ 5 char[] str = strs[i].toCharArray(); 6 Arrays.sort(str); 7 String temp = new String(str); 8 if(map.containsKey(temp)){ 9 map.get(temp).add(strs[i]); 10 } 11 else{ 12 List arrList = new ArrayList<String>(); 13 arrList.add(strs[i]); 14 map.put(temp, arrList); 15 } 16 } 17 return new ArrayList<>(map.values()); 18 } 19 }
java语法总结:
1 for循环
2 创建ArrayList时明确指定泛型
丢给ai修改之后:
1 import java.util.*; 2 3 class Solution { 4 public List<List<String>> groupAnagrams(String[] strs) { 5 Map<String, List<String>> map = new HashMap<>(); 6 for (String str : strs) { 7 char[] characters = str.toCharArray(); 8 Arrays.sort(characters); 9 String sortedString = new String(characters); 10 if (map.containsKey(sortedString)) { 11 map.get(sortedString).add(str); 12 } else { 13 List<String> list = new ArrayList<>(); 14 list.add(str); 15 map.put(sortedString, list); 16 } 17 } 18 return new ArrayList<>(map.values()); 19 } 20 }

浙公网安备 33010602011771号