当前为游客只读模式。登录后可提交代码判题并保存草稿与进度。

练题计划 · 力扣 HOT 100

字母异位词分组

中等groupAnagrams()
时间限制 2000 ms内存限制 128 MB复杂度要求 时间 O(n·k·log k),空间 O(n·k)

字母异位词分组

给你一个字符串数组,请你将字母异位词组合在一起。字母异位词是由重新排列源单词的所有字母得到的一个新单词。

约定

  • 分组之间的顺序任意,但每个分组内部的字符串需要按字典序排列。
  • 所有输入均为小写字母。
  • 返回结果是一个二维字符串数组,每个子数组是一组互为字母异位词的单词。

输入

  • strs:字符串数组,1 ≤ strs.length ≤ 10^4,每个字符串长度 0 ≤ len ≤ 100

输出

分组后的二维字符串数组。

示例一

输入:

strs = ["eat","tea","tan","ate","nat","bat"]

输出:

[["bat"],["nat","tan"],["ate","eat","tea"]]

示例二

输入:

strs = [""]

输出:

[[""]]

示例三

输入:

strs = ["a"]

输出:

[["a"]]

复杂度要求

  • 时间复杂度:O(n·k·log k),n 为字符串个数,k 为最大串长
  • 空间复杂度:O(n·k)
Loading...

输入

[["eat","tea","tan","ate","nat","bat"]]

预期输出

[["ate","eat","tea"],["nat","tan"],["bat"]]
自定义用例