ValidAnagram
Problem
Solution
For two strings to be anagrams, they must have the same number of each
character. We can track the occurrences of each character in a dictionary,
incrementing for s
and decrementing for t
. If the dictionary only
contanins 0’s, then s
and t
are anagrams.
Code
def isAnagram(s: str, t: str) -> bool:
"""Checks if ``s`` and ``t`` are anagrams of each other.
"""
d = {}
for char in s:
if char in d:
d[char] += 1
else:
d[char] = 1
for char in t:
if char in d:
d[char] -= 1
else:
return False
return all(count == 0 for char, count in d.items())
Test
>>> from ValidAnagram import isAnagram
>>> isAnagram('anagram', 'nagaram')
True
>>> isAnagram('rat', 'car')
False
- ValidAnagram.isAnagram(s: str, t: str) bool
Checks if
s
andt
are anagrams of each other.