目录
- 1. 题目:
- 2. 我的代码:
- 小结:
1. 题目:
给定两个字符串 s 和 t ,编写一个函数来判断它们是不是一组变位词(字母异位词)。
注意:若 s 和 t 中每个字符出现的次数都相同且字符顺序不完全相同,则称 s 和 t 互为变位词(字母异位词)。
示例 1:
输入: s = “anagram”, t = “nagaram”
输出: true
示例 2:
输入: s = “rat”, t = “car”
输出: false
示例 3:
输入: s = “a”, t = “a”
输出: false
2. 我的代码:
from collections import defaultdict
class Solution:def isAnagram(self, s: str, t: str) -> bool:if s == t:return Falsedic1 = defaultdict(int)dic2 = defaultdict(int)for ele in s:dic1[ele] += 1for ele in t:dic2[ele] += 1return dic1 == dic2
这个题没有任何难度,很明显就是使用哈希表即可。哈希表有三种:list/数组、set、dict/map。使用情况:
list:数值范围比较小时
set:数值范围比较大时
dict:呈现key-value规则(一般使用defaultdict即可)
这里通过defaultdict不断增加元素和累计元素出现次数,最后比较一下dic1和dic2即可知道是否是异位词
小结:
关注我给大家分享更多有趣的知识,以下是个人公众号,提供 ||代码兼职|| ||代码问题求解||
添加我的公众号即可: