zerovoids.dev
LEETCODEEasy

Valid Anagram

풀이일 2025 · 03 · 28기록 7 ms · 56.5 MB원문 leetcode ↗
Hash TableStringSorting
문제

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:

  • 1 <= s.length, t.length <= 5 * 104
  • s and t consist of lowercase English letters.

 

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

풀이 TypeScript
function isAnagram(s: string, t: string): boolean {
  if(s.length !== t.length) return false;
  
  const aCode = 'a'.charCodeAt(0);
  const zCode = 'z'.charCodeAt(0);
  const length = zCode - aCode + 1;
  
  const arr = Array(length).fill(0);

  let i;

  for(i = 0; i < s.length; i++) {
    arr[s.charCodeAt(i) - aCode]++;
    arr[t.charCodeAt(i) - aCode]--;
  }

  return arr.every((v) => v === 0);
}
복사됨