字母异位词分组
核心思想
字母异位词的特点是,它们的字母组成相同,只是排列顺序不同。因此,可以通过对每个字符串进行排序,将排序后的字符串作为键,将原始字符串作为值存入哈希表中。最后,将哈希表中的值提取出来,即为分组后的结果。
具体步骤
排序法:
- 遍历字符串数组,对每个字符串进行排序,将排序后的字符串作为键,原始字符串作为值存入哈希表。
Leetcode 2.字母异味词分组-原题链接
题目内容
给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序输出结果列表。
字母异位词是由重新排列源单词的所有字母得到的一个新单词。
输入描述
输入共两行。
- 第一行一个整数n,代表字符串数组长度。
- 第二行有n个字符串,代表字符串数组,字符串之间以空格分隔。
输出描述
输出结果列表,每一行表示一组。
每一组的字符串以空格分隔。
样例1
输入
6
eat tea tan ate nat bat
输出
bat
nat tan
ate eat tea
样例2
输入
1
a
输出
a
提示
- 1<=strs.length<=104
- 0<=strs[i].length<=100
- strs[i]仅包含小写字母