0242-leetcode算法实现之有效字母异位词-valid-anagram-python&golang实现

# 242.有效字母异位词

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

注意:若s 和 t中每个字符出现的次数都相同,则称s 和 t互为字母异位词。

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

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

链接:https://leetcode-cn.com/problems/valid-anagram

python

class Solution:
    # 哈希法
    def isAnagram(self, s: str, t: str) -> bool:
        if len(s) != len(t):
            return False

        records  = [0] * 26
        n = len(s)
        for i in range(n):
            records[ord(s[i]) - ord('a')] += 1
        print(records)
        for i in range(n):
            records[ord(t[i]) - ord('a')] -= 1

        for i in range(26):
            if records[i] != 0:
                return False

        return True

if __name__ == "__main__":
    s = "handle"
    t = ""
    t1 = "and"
    t2 = "andhle"

    test = Solution()
    res = test.isAnagram(s, t)
    print(res) # False
    res = test.isAnagram(s, t1)
    print(res) # False
    res = test.isAnagram(s, t2)
    print(res) # True
上一篇:Delphi Records与classes几点不同


下一篇:Javascript中数组重排序方法详解