力扣 字母异位词分组 哈表 集合

👨‍🏫 力扣 字母异位词分组

⭐ 思路

由于互为字母异位词的两个字符串包含的字母相同,因此对两个字符串分别进行排序之后得到的字符串一定是相同的,故可以将排序之后的字符串作为哈希表的键。

🍑 AC code

java 复制代码
class Solution {
    public List<List<String>> groupAnagrams(String[] strs)
	{
		HashMap<String, List<String>> map = new HashMap<>();
		for (String s : strs)
		{
			char[] arr = s.toCharArray();//字符串转字符数组
			Arrays.sort(arr);
			String idx = String.valueOf(arr);//字符数组转字符串
			List<String> list = map.getOrDefault(idx, new ArrayList<String>());
			list.add(s);
			map.put(idx, list);

//			if (map.containsKey(idx))
//			{
//				map.get(idx).add(s);
//			} else
//			{
//				ArrayList<String> list = new ArrayList<String>();
//				list.add(s);
//				map.put(idx, list);
//			}
		}
		//将 map 中值作为 list集合的初始化值
		List<List<String>> ans = new ArrayList<>(map.values());
		return ans;
	}
}
相关推荐
kobesdu12 分钟前
FAST-LIO2 + 蓝海M300激光雷达:从建图到实时栅格图的完整流程
算法·机器人·ros·slam·fast lio
x_xbx12 分钟前
LeetCode:438. 找到字符串中所有字母异位词
算法·leetcode·职场和发展
MThinker13 分钟前
K230+canMV+micropython实现低成本MLX90640红外热成像测温模块(续)
算法·智能硬件·micropython·canmv·k230
小菜鸡桃蛋狗16 分钟前
C++——string(下)
算法
学习永无止境@20 分钟前
灰度图像中值滤波算法实现
图像处理·算法·计算机视觉
ysa05103024 分钟前
斐波那契上斐波那契【矩阵快速幂】
数据结构·c++·笔记·算法
CHANG_THE_WORLD38 分钟前
模拟解析:宽度数组 `[1,2,1]`,10个条目的 XRef 流
java·前端·算法
lixinnnn.42 分钟前
多源BFS:矩阵距离
算法·宽度优先
CHANG_THE_WORLD1 小时前
PDFium 处理通用 `W` 数组的方式
数据结构·算法
派大星~课堂1 小时前
【力扣-94.二叉树的中序遍历】Python笔记
笔记·python·leetcode