有效的字母异位词
题目:
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
示例1:
输入: s = “anagram”, t = “nagaram”
输出: true
示例2:
输入: s = “rat”, t = “car”
输出: false
说明:你可以假设字符串只包含小写字母
解题思路:
为了检查t是否是s的重新排列,我们可以计算两个字符串中每个字母的出现次数并进行比较。
复杂度分析:
- 时间复杂度:O(n),因为访问计数器表是一个固定的时间操作
- 空间复杂度:O(1),尽管我们使用了额外的空间,但是空间的复杂性
代码:
class Solution(object):
def isAnagram(self, s, t):
"""
:type s: str
:type t: str
:rtype: bool
"""
return collections.Counter(s)==collections.Counter(t)