Valid Anagram

Problem Description

Given two strings s and t, return true if t is an anagram of s, and false otherwise.

 

Example 1:

Input: s = "anagram", t = "nagaram"

Output: true

Example 2:

Input: s = "rat", t = "car"

Output: false

 

Constraints:

 

Follow up: What if the inputs contain Unicode characters? How would you adapt your solution to such a case?

Solution (JavaScript)

/**
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var isAnagram = function(s, t) {
    if (s.length !== t.length) {
        return false;
    }
    const c = new Array(26).fill(0);
    for (let i = 0; i < s.length; i++) {
        c[s[i].charCodeAt(0)-97]++;
        c[t[i].charCodeAt(0)-97]--;
    }
    for (const n of c) {
        if (n !== 0) {
            return false;
        }
    }
    return true;
};