LeetCode Top Interview 150

242. Valid Anagram

Easy

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

class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        if len(s) != len(t):
            return False
        freq = [0] * 26
        for ch in s:
            freq[ord(ch) - 97] += 1
        for ch in t:
            idx = ord(ch) - 97
            if freq[idx] == 0:
                return False
            freq[idx] -= 1
        return True