Day4-有效的字母异位词

YVTU

🔗 LeetCode 242 - Valid Anagram

📌 题目描述:

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

字母异位词的定义:
如果两个字符串中的字母出现的频率相同且字符完全一致,那么这两个字符串是字母异位词。


💡 解题思路:

•	将两个字符串 s 和 t 的字母出现频次统计出来,若两个字符串的字母频次完全相同,则它们是字母异位词。
•	通过使用哈希表或数组存储字母的频率。

✅ JavaScript 实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var isAnagram = function (s, t) {
if (s.length !== t.length) return false;

const count = new Array(26).fill(0);

for (let i = 0; i < s.length; i++) {
count[s.charCodeAt(i) - 'a'.charCodeAt(0)]++;
count[t.charCodeAt(i) - 'a'.charCodeAt(0)]--;
}

for (let i = 0; i < 26; i++) {
if (count[i] !== 0) return false;
}

return true;
};

🧠 思考拓展:

•	字母异位词问题的优化:如何减少不必要的比较,提升算法效率?
•	对比其他字符串相关的题目,比如 387. First Unique Character in a String。