## Description

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

Given two strings *s* and *t *, 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.

**Follow up:**

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

## Explanation

Check if characters in s and t match their occurences.

## 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.