49.字母异位词分组
字母异位词分组
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。
字母异位词是由重新排列源单词的所有字母得到的一个新单词。
示例 1:
输入:strs = [“eat”,”tea”,”tan”,”ate”,”nat”,”bat”]
输出:[[“bat”],[“nat”,”tan”],[“ate”,”eat”,”tea”]]
示例 2:
输入:strs = [“”]
输出:[[“”]]
示例 3:
输入:strs = [“a”]
输出:[[“a”]]
提示:
- 1 <= strs.length <= $10^4$
- 0 <= strs[i].length <= 100
- strs[i] 仅包含小写英文字母
解析
将每个字符串排序后作为 key,异位词排序后一定相同。
1 | |
排序后作为哈希键是最直观的方法。时间复杂度 O(n * k * logk),其中 k 是字符串最大长度。
49.字母异位词分组
https://leetcode.lz5z.com/49.group-anagrams/