leetcode-242:有效的字母异位词

LC 有效的字母异位词

  • 题目:
  • 解题:
    • 方法一:哈希表(i)
    • 方法二:排序

题目:

题目链接
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

示例 1:

输入: s = "anagram", t = "nagaram"
输出: true

示例 2:

输入: s = "rat", t = "car"
输出: false

解题:

方法一:哈希表(i)

先把一个字符串的每个字符放入哈希表计数,再遍历另外一个字符串,每出现一次,就让哈希表对应的值减去一,如果没有可以减的了,就返回False

class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        if len(s)!=len(t):
            return False
        hush = dict()
        for char in s:
            hush[char] = hush.get(char,0)+1
        for char in t:
            if char not in hush:
                return False
            else:
                if hush[char] == 0:
                    return False
                else:
                    hush[char] -=1
        return True

方法二:排序

如果排完序后的结果一样就说明是字母异位词

class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        if sorted(s)==sorted(t):
            return True
        return False

你可能感兴趣的:(算法从零开始python,leetcode,python,算法)