【LeetCode】LeetCode 记录贴--字母异位词分组
【LeetCode】LeetCode 记录贴--字母异位词分组题题目我的解题方法我的解题思路解题代码题目给你一个字符串数组请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。示例 1输入: strs [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]解释在 strs 中没有字符串可以通过重新排列来形成 “bat”。字符串 “nat” 和 “tan” 是字母异位词因为它们可以重新排列以形成彼此。字符串 “ate” “eat” 和 “tea” 是字母异位词因为它们可以重新排列以形成彼此。示例 2:输入: strs [“”]输出: [[“”]]示例 3:输入: strs [“a”]输出: [[“a”]]提示1 strs.length 1040 strs[i].length 100strs[i] 仅包含小写字母我的解题方法我的解题思路使用哈希表记录异位词那么区分字母异位词的方式有两种将单词字母排序所有异位词排序后的结果是一样的统计单词出现次数所有异位词的单词出现次数是一样的将结果转化为一个字符串作为键值复杂度时间复杂度: () 是字符串长度排序的话()空间复杂度: (), 个字符串每个字符串长度为一共占据哈希表()个空间解题代码functiongroupAnagrams(strs:string[]):string[][]{constwordsnewMapstring,string[]();strs.map((str){constarrArray.from(str);arr.sort();constnewStrarr.toString();letanagramswords.get(newStr);if(!anagrams){anagrams[str];words.set(newStr,anagrams);}else{anagrams.push(str);}});return[...words.values()];};