题目链接:https://leetcode.cn/problems/valid-anagram/description/

核心思想:哈希法-数组

利用数组,统计第一个字符串每个字符的出现次数,再统计第二个字符串每个字符的出现次数,相减,最后数组全部为0即是有效的字母异位词

#
# @lc app=leetcode.cn id=242 lang=python3
#
# [242] 有效的字母异位词
#

# @lc code=start
class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        record = [0] * 26
        for i in s:
            record[ord(i) - ord('a')] += 1
        for i in t:
            record[ord(i)-ord('a')] -= 1
        for i in range(26):
            if record[i] != 0:
                return False
        return True

在Python中,ord[i] - ord['a']这段代码中的ord()函数用于获取字符的Unicode码点(整数表示),其核心作用是将字符转换为对应的编码数值,从而便于进行数学运算或索引计算。具体解析如下:

1. ord()函数的功能

  • ​基本定义​:ord()是Python的内置函数,接受一个长度为1的字符串(即单个字符),返回该字符的Unicode码点(整数)。例如:

ord('a') 返回 97(ASCII码中'a'的值)

ord('中') 返回 20013(汉字“中”的Unicode码点)