有效的字母异位词

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。

示例 1:

输入: s = "anagram", t = "nagaram"
输出: true
示例 2:

输入: s = "rat", t = "car"
输出: false

解法一:
class Solution:
    def isAnagram(self, s, t):
        s=list(s)
        t=list(t)
        s.sort()
        t.sort()
        return s==t
解法二:hash表,时间复杂度O(n)
class Solution:
    def isAnagram(self, s, t):
        if len(s)!=len(t):
            return False
        d = {}
        for i in range(len(s)):
            d[s[i]] = d[s[i]]+1 if d.get(s[i])!=None else 1
            d[t[i]] = d[t[i]]-1 if d.get(t[i])!=None else -1
        for key in d:
            if d[key]!=0:
                return False
        return True

你可能感兴趣的:(有效的字母异位词)