题目
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
示例 1:
输入: s = "anagram", t = "nagaram"
输出: true
示例 2:
输入: s = "rat", t = "car"
输出: false
说明:
你可以假设字符串只包含小写字母。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-anagram
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解题思路
建立字典,保存每个字母出现的次数
- 遍历s,对字母进行统计
- 遍历t,当碰到字典没有出现的单词说明不匹配,返回False; 否则次数-1
- 遍历字典,如果有不是0的值,说明不匹配,返回False
最后返回True。
代码
class Solution:
def isAnagram(self, s: str, t: str) -> bool:
lookup_dict = {}
for i in s:
if i in lookup_dict:
lookup_dict[i] += 1
else:
lookup_dict[i] = 1
for j in t:
if j not in lookup_dict:
return False
else:
lookup_dict[j] -= 1
for v in lookup_dict:
if lookup_dict[v] != 0:
return False
return True