Leetcode 242 有效的字母异位词

题目

给定两个字符串 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

你可能感兴趣的:(Leetcode 242 有效的字母异位词)