242. Valid Anagram ๐ข
Difficulty: Easy
- Tags: Hash Table
, String
, Sorting
Problem Statement ๐
Given two strings s
and t
, determine if t
is an anagram of s
. An anagram is a word or phrase formed by rearranging the letters of a different word or phrase, using all the original letters exactly once.
Examples ๐
๐น Example 1:
Input:
Output:
๐น Example 2:
Input:
Output:
Constraints โ๏ธ
1 <= s.length, t.length <= 5 * 10^4
s
andt
consist of lowercase English letters.
Solution ๐ก
The simplest way to check if two strings are anagrams is to compare their sorted versions. Alternatively, we can use a frequency count for more efficiency.
Java Solution (Sorting Approach)
Java Solution (HashMap Approach)
Explanation of the Solution
Sorting Approach:
Convert both strings to character arrays.
Sort the arrays.
Compare the sorted arrays for equality.
HashMap Approach:
Count the frequency of each character in
s
using aHashMap
.For each character in
t
, decrement its count in the map.If a character in
t
is missing or its count goes below zero, returnfalse
.
Time Complexity โณ
Sorting Approach:
O(n log n) for sorting, where
n
is the length of the strings.
HashMap Approach:
O(n) for iterating through the strings.
Space Complexity ๐พ
Sorting Approach:
O(n) for storing the sorted arrays.
HashMap Approach:
O(1) space for the map (since there are only 26 lowercase English letters).
You can find the full solution here.
Last updated