这是我参与11月更文挑战的第19天,活动详情查看:2021最后一次更文挑战
剑指 Offer II 033. 变位词组
给定一个字符串数组 strs ,将 变位词 组合在一起。 可以按任意顺序返回结果列表。
注意:若两个字符串中每个字符出现的次数都相同,则称它们互为变位词。
1 | lua复制代码示例 1: |
来源:力扣(LeetCode) 链接:leetcode-cn.com/problems/sf…
思路
- 这道题大家会不会想到之前的
有效的变位词
- 首先回忆
有效的变位词
这道题的思路 - 判断
abcdefg
和gfedcba
是异位词,我们只需要构建一个哈希表 - 或者为了更简单,就创建一个
26
位的数组,最开始遍历第一个字符串,对应索引位置加一 - 第二次遍历第二个字符串,对应索引位减一,如果最后数组都为零0️⃣,那么就代表这两个字符串真的是字母相同,而位置不同而已(异位词)
- 首先回忆
- 回过头来看这道题,我们有两种方式去实现
- 第一种就是将字母进行排序,最后再定义一个哈希表
- 而第二种当时我们可以想到,如果将每个英文小写字母映射到对应一个质数的话
- 那么每个字符串的字母对应质数最后的乘积,最后一定是相同的就一定为同一个字母
1 | java复制代码class Solution { |
本文转载自: 掘金