242. 有效的字母异位词

242. 有效的字母异位词

哈希表

思路
哈希表record[26]用于统计串 s 中字母的出现次数,哈希函数:s.charAt(i) - 'a' 将串 s 中的字母映射到[0,25]哈希表下标。
然后遍历串 t,减去record[26]中对应字母的次数。
若record[26]中元素均为0,则两串互为字母异位词;否则,不是。

class Solution {
    public boolean isAnagram(String s, String t) {
        int[] record = new int[26]; // 统计每个字符出现的次数
        for (int i = 0; i < s.length(); i++) {
            record[s.charAt(i) - 'a']++;
        }
        for (int i = 0; i < t.length(); i++) {
            record[t.charAt(i) - 'a']--;
        }

        for (int i = 0; i < 26; i++) { // 若 record 数组中元素均为0,则互为字母异位词
            if (record[i] != 0) {
                return false;
            }
        }

        return true;
    }
}
posted @ 2025-10-18 13:37  Nickey103  阅读(3)  评论(0)    收藏  举报