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 }

 

posted @ 2025-02-08 16:32  烟雨化飞龙  阅读(32)  评论(0)    收藏  举报