如果帮助到您,还请点个关注吧,hahaha
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
示例 1:
输入: s = “anagram”, t = “nagaram”
输出: true
示例 2:
输入: s = “rat”, t = “car”
输出: false
说明:
你可以假设字符串只包含小写字母。
#最直观的思路
可以创建一个字典用来存放每个字母出现的次数
字典的key即为字符串中的字母
当遍历字符串s时,如果该字母已经为字典中的key
则只需要将其对应的value值+1即可
若不存在字典的key中则直接新建一个key,并将其value置为1
反之遍历字符串t时,每遇到一个字母,则将其对应的value-1
若遍历到不存在字典中的字母时,则直接返回False
当全部遍历完后,重新检查字典中的所有value值是否为0
若全部为0,则返回True
反之返回False
class Solution:
def isAnagram(self, s: str, t: str) -> bool:
if len(s) != len(t):
return False
val = {}
for i in s:
if i in val:
val[i] += 1
else:
val[i] = 1
for i in t:
if i in val:
val[i] -= 1
else:
return False
for i in val.values():
if i != 0:
return False
return True