30 - Easy - 有效的字母异位词

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

示例 1:

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

输入: s = "rat", t = "car"
输出: false
说明:
你可以假设字符串只包含小写字母。

进阶:
如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?

class Solution:
    def isAnagram(self, s, t):
        """
        :type s: str
        :type t: str
        :rtype: bool
        """
        if len(s) != len(t):
            return False
        _dict = {}
        for i in range(len(s)):
            if s[i] not in _dict:
                _dict[s[i]] = 0
            _dict[s[i]] += 1
        for i in range(len(s)):
            if t[i] not in _dict:
                return False
            else:
                _dict[t[i]] -= 1
                if _dict[t[i]] == 0:
                    _dict.pop(t[i])
        return False if _dict else True
class Solution:
    def isAnagram(self, s, t):
        """
        :type s: str
        :type t: str
        :rtype: bool
        """
        return set(s) == set(t) and all(s.count(i) == t.count(i) for i in set(s))
        

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