Valid Anagram
Intuition Count frequency of each Approach Create a map conting the frequency of one string. For the second string decrease by one each letter: If the count of a given letter is < 0, returns false If the letter does not yet exists in the map, returns false Complexity Time complexity: O(n) Space complexity: O(n) Code class Solution(object): def isAnagram(self, s, t): """ :type s: str :type t: str :rtype: bool """ if len(s) != len(t): return False letters = {} for c in s: if c in letters: letters[c] += 1 else: letters[c] = 1 for c in t: if c in letters: letters[c] -= 1 if letters[c] < 0: return False else: return False return sum(letters.values()) == 0 But there’s a even shorter version: ...