242.有效的字母异位词
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
假设字符串只包含小写字母。输入字符串可能包含 unicode 字符
输入: s = "anagram", t = "nagaram" 输出: true
输入: s = "rat", t = "car" 输出: false
class Solution:
def isAnagram(self, s: str, t: str) -> bool: # 按字母排序,O(nlgn)
return sorted(s) == sorted(t)
def isAnagram2(self, s, t): # 比较字母出现次数是否相等,hashmap
dict1, dict2 = {}, {}
for i in s:
dict1[i] = dict1.get(i, 0) + 1
for i in t:
dict2[i] = dict2.get(i, 0) + 1
return dict1 == dict2
def isAnagram3(self, s, t): # 数组,26个字母,ASCII码相减
dict1, dict2 = [0] * 26, [0] * 26
for item in s:
dict1[ord(item) - ord('a')] += 1
for item in t:
dict2[ord(item) - ord('a')] += 1
return dict1 == dict2
def isAnagram4(self, s, t): # 字符统计
from collections import Counter
return Counter(s).items() == Counter(t).items()