Links
Go to my solution
 Go to the question on LeetCode
My Thoughts
What Went Well
 I knew how to approach the problem in multiple ways and implemented them all quickly.
Data Structure Description
Hash Map (Dictionary) - A data structure that stores a collection of keys, each to their respective values. Each key may only appear once.
Solution Statistics
Time Spent Coding
 5 minutes
Time Complexity
 O(n + m) - In the worst-case scenario, we must iterate through the entire length of t, assigning it to have a length of m, resulting in the O(n + m) time complexity. We do not remove the m from the time complexity because it is not a constant and depends on the user’s input. It may be much larger than n, significantly affecting the time complexity.
Space Complexity
 O(n) - We will, at most, store n elements, where n is the length of input string s, resulting in the O(n) space complexity.
Runtime Beats
 79.51% of other submissions
Memory Beats
 98% of other sumbissions
Solution
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Solution(object):
    def isAnagram(self, s, t):
        # If s is longer than t, this code eliminates that edge case
        if len(s) != len(t): return False
        # character in s = frequency in s
        charS = {}
        # For the current character in string s, execute the code block
        for c in s:
            # Increment the current characters value by 1
            charS[c] = charS.get(c,0) + 1
        # For the current character in string t execute the code block
        for c in t:
            # Check if the current characters value is equal to 0
            # If a character is not in the dictionary, then default to 0
            if charS.get(c,0) == 0:
                return False
            charS[c] -= 1
        return True