--- title: '242. Valid Anagram' description: Given two strings s and t, return true if t is an anagram of s, and false otherwise sidebar: label: 'Valid Anagram' badge: 'Easy' --- Hash Table ::::warning What if the inputs contain Unicode characters? How would you adapt your solution to such a case? :::: ### Example 1: - Input: `s = "anagram", t = "nagaram"` - Output: `true` ### Example 2: - Input: `s = "rat", t = "car"` - Output: `false` ### Constraints: - `1 <= s.length, t.length <= 5 * 10^4` - `s` and `t` consist of lowercase English letters. ## Solution ```js /** * @param {string} s * @param {string} t * @return {boolean} */ var isAnagram = function(s, t) { let freq = {}; for (let c of s) freq[c] = (freq[c] || 0) + 1; for (let c of t) { if(!freq[c] || freq[c] === 0){ return false; } freq[c] = freq[c] - 1; } return true; }; ```