Valid Anagram

Problem

Given two strings s and t, return true if t is an anagram of s, and false otherwise.

An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once.

Example 1:

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

Example 2:

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

Constraints:

  • 1 <= s.length, t.length <= 5 * 104

  • s and t consist of lowercase English letters.

Follow up: What if the inputs contain Unicode characters? How would you adapt your solution to such a case?

Pseudocode

Solution

Time and Space Complexity

Time

  • While there is some extra computation to perform split(), sort(), join(), the overall running time for both methods are still O(N), as Big O notation measures the computation requirements of the code depending on the size of input. Both methods will linearly increase in running time with respect to input

  • Total - O(N)

Space

  • Same as above

  • Total - O(N)

Last updated