www.17c.5c

核心内容摘要

破茧成蝶的绝美瞬间:糖心vlog御梦子18岁成人礼,一场关于青春与蜕变的光影盛宴
扒哥黑料娱乐圈惊天秘密:当帷幕落下,真相令人窒息!

泳装小南的夏日奇遇:雨隐的清甜与长门的意外之缘

给你一个字符串数组请你将 字母异位词 组合在一起。

可以按任意顺序返回结果列表。

示例 1:输入:strs [eat, tea, tan, ate, nat, bat]输出:[[bat],[nat,tan],[ate,eat,tea]]解释在 strs 中没有字符串可以通过重新排列来形成bat。

字符串nat和tan是字母异位词因为它们可以重新排列以形成彼此。

字符串ateeat和tea是字母异位词因为它们可以重新排列以形成彼此。

示例 2:输入:strs []输出:[[]]示例 3:输入:strs [a]输出:[[a]]提示1 strs.length 1040 strs[i].length 100strs[i]仅包含小写字母直接上代码看不懂请私信或留言class Solution { public ListListString groupAnagrams(String[] strs) { ListListString ans new ArrayList(); if(strs.length

{ ans.add(new ArrayList()); ans.get(

.add(strs[0]); return ans; } MapString, ListString map new HashMap(); /**如果大于1个遍历一下遍历的过程中统计每个字母的词频然后按照从a到z的顺序拼接比如a出现两次拼接aa都拼接完存入map以拼接完的string对应的list*/ for(String str : strs) { char[] sArr str.toCharArray(); int[] count new int[26]; /**统计字符出现的频次 */ for(char c : sArr) { count[c - a] ; } /**统计完之后拼接字符串*/ StringBuilder sb new StringBuilder(); for(int i 0; i count.length; i) { for(int j 0; j count[i]; j ) { sb.append((char)(a i)); } } String strCur sb.toString(); /**拿到按az的顺序排序后对应的list有就拿原来的没有就建个新的*/ ListString strList map.getOrDefault(strCur, new ArrayList()); /**把当前单词加入 */ strList.add(str); /**别忘了put这是针对新建list的情况如果不put的话map里就不存在 */ map.put(strCur, strList); } /**map的values是我们的各个异位词的list */ for(ListString list : map.values()) { ans.add(list); } return ans; } }运行结果有优化的空间面试肯定能过懒得搞了

日批视频APP-日批视频应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123