《python算法与数据结构2000讲》0242. 有效的字母异位词
- 标签:字符串、哈希表、排序
- 难度:简单
题目大意
给定两个字符串 s 和 t ,判断 t 和 s 是否使用了相同的字符构成(字符出现的种类和数目都相同)。
解题思路
- 先判断字符串 s 和 t 的长度,不一样直接返回 false;
- 分别遍历字符串 s 和 t。先遍历字符串 s,用哈希表存储字符串 s 中字符出现的频次;
- 再遍历字符串 t,哈希表中减去对应字符的频次,出现频次 < 0 则输出 false;
- 如果没出现频次 < 0,则输出 true。
代码
def isAnagram(self, s: str, t: str) -> bool:
if len(s) != len(t):
return False
strDict = dict()
for ch in s:
if ch in strDict:
strDict[ch] += 1
else: