给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。
时间: 2024-10-05 14:04:38 浏览: 27
js-utils-给定两个字符串s和t
给定两个字符串 `s` 和 `t`,你可以通过比较它们的字符频率来判断它们是否是字母异位词。一种常见的做法是创建两个哈希表(Python 中可以使用字典),分别统计 `s` 和 `t` 中每个字符出现的次数。然后遍历这两个字典,检查对应键值是否相等。如果所有字符的出现次数都匹配,那么 `s` 和 `t` 就是字母异位词。
以下是 Python 代码示例:
```python
def is_anagram(s: str, t: str) -> bool:
if len(s) != len(t): # 如果长度不同,直接返回False
return False
char_count_s = {}
for char in s:
if char in char_count_s:
char_count_s[char] += 1
else:
char_count_s[char] = 1
for char in t:
if char not in char_count_s or char_count_s[char] == 0: # 如果某个字符在s中不存在或者已经用完,返回False
return False
char_count_s[char] -= 1 # 更新字符计数
return all(value == 0 for value in char_count_s.values()) # 检查是否所有计数值都为0,即字符都被消耗完了
```
阅读全文