思路就是使用哈希标表,将元素存入表中,对比元素的个数。
class Solution(object):
def isAnagram(self, s, t):
"""
:type s: str
:type t: str
:rtype: bool
"""
s1 = {}
t1 = {}
if len(s) != len(t):
return False
for i in s:
if i in s1:
s1[i] += 1
else:
s1[i] = 0
for i in t:
if i in t1:
t1[i] += 1
else:
t1[i] = 0
for i in s1.keys():
if i in t1.keys():
if t1[i] != s1[i]:
return False
else:
return False
return True
看一种简洁的代码:
class Solution(object):
def isAnagram(self, s, t):
"""
:type s: str
:type t: str
:rtype: bool
"""
s1 = {}
t1 = {}
for i in s:
s1[i] = s1.get(i, 0) + 1
for i in t:
t1[i] = t1.get(i, 0) + 1
return s1 == t1
还有更简洁的代码
class Solution(object):
def isAnagram(self, s, t):
"""
:type s: str
:type t: str
:rtype: bool
"""
return sorted(s) == sorted(t)