# LeetCode 242. Valid Anagram

## Description

https://leetcode.com/problems/valid-anagram/

Given two strings s and , write a function to determine if t is an anagram of s.

Example 1:

```Input: s = "anagram", t = "nagaram"
Output: true
```

Example 2:

```Input: s = "rat", t = "car"
Output: false
```

Note:
You may assume the string contains only lowercase alphabets.

What if the inputs contain unicode characters? How would you adapt your solution to such case?

## Explanation

A palindrome, and its reverse, are identical to each other.

## Python Solution

``````class Solution:
def isAnagram(self, s: str, t: str) -> bool:
if len(s) != len(t):
return False

counter = {}

for char in s:
if char not in counter:
counter[char] = 1
else:
counter[char] += 1

for char in t:
if char not in counter:
return False
else:
counter[char] -= 1

for key, value in counter.items():
if value != 0:
return False

return True``````
• Time complexity: O(N).
• Space complexity: O(1). The space complexity is O(1) because the table’s size stays constant no matter how large n is.