建设网站服务商,嘉兴建设教育网站,软件项目管理的意义,医疗器械网站备案前置审批事例49. 字母异位词分组
解题思路
创建一个哈希容器 key是每一个字母异位词 排序之后的词 List是所有的字母异位词因为所有的字母异位词排序之后的结果都是一样的增强for循环遍历字符串数组将每一个字符串转换为字符数组因为字母异位词排序之后 都是一样的将排序之后的字符数组 转…49. 字母异位词分组
解题思路
创建一个哈希容器 key是每一个字母异位词 排序之后的词 List是所有的字母异位词因为所有的字母异位词排序之后的结果都是一样的增强for循环遍历字符串数组将每一个字符串转换为字符数组因为字母异位词排序之后 都是一样的将排序之后的字符数组 转换为字符串将排序之后的结果 作为hash的key如果不存在 将字母异位 添加到Map中将该字符串放在对应key的list中
class Solution {public ListListString groupAnagrams(String[] strs) {// 使用哈希容器 对于每一字符串 比较每一个字母出现的次数是不是相同的 是的话 放到一个List中// 创建一个哈希容器 key是每一个字母异位词 排序之后的词 List是所有的字母异位词// 因为所有的字母异位词排序之后的结果都是一样的MapString,List map new HashMap();for(String str: strs){// 增强for循环遍历字符串数组// 将每一个字符串转换为字符数组char[] ss str.toCharArray();// 因为字母异位词排序之后 都是一样的Arrays.sort(ss);// 将排序之后的字符数组 转换为字符串String key String.valueOf(ss);// 将排序之后的结果 作为hash的keyif(!map.containsKey(key)){// 如果不存在 将字母异位 添加到Map中// 哈希容器的key是排序之后的字符串map.put(key,new ArrayList());}// 将该字符串放在对应key的list中map.get(key).add(str);}// 返回所有的键值对象构成城的Listreturn new ArrayList(map.values());}
}