给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。
示例 1:
输入: s = "anagram", t = "nagaram" 输出: true
示例 2:
输入: s = "rat", t = "car" 输出: false
说明:
你可以假设字符串只包含小写字母。
进阶:
如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?
方法:
分析题目意思,实际上就是计算每一个字符串中的单字符出现的次数,如果相同则是。但是我发现很多代码都没有考虑当s和t给的是同一个字符的时候,也是满足上述条件的,因此还需要在代码的最上方添加一个判断条件。
最终的AC解为:
class Solution(object):
def isAnagram(self, s, t):
"""
:type s: str
:type t: str
:rtype: bool
"""
if s == t:
return False
s = list(s)
t = list(t)
dic_s = {}
dic_t = {}
for item in s:
if item not in dic_s:
dic_s[item] = 1
else:
dic_s[item] += 1
for item in t:
if item not in dic_t:
dic_t[item] = 1
else:
dic_t[item] += 1
if dic_t == dic_s:
return True
else:
return False