205. Isomorphic Strings ๐
Difficulty: Easy
- Tags: Hash Table
, String
Problem Statement ๐
Given two strings s
and t
, determine if they are isomorphic.
Two strings s
and t
are isomorphic if the characters in s
can be replaced to get t
.
All occurrences of a character must be replaced with another character while preserving the order of characters.
No two characters may map to the same character, but a character may map to itself.
Examples ๐
๐น Example 1:
Input:
Output:
๐น Example 2:
Input:
Output:
๐น Example 3:
Input:
Output:
Constraints โ๏ธ
1 <= s.length <= 5 * 10^4
t.length == s.length
s
andt
consist of any valid ASCII character.
Solution ๐ก
To determine if two strings are isomorphic, we need to map characters from s
to t
while ensuring no two characters from s
map to the same character in t
(and vice versa).
Java Solution
Explanation of the Solution
Create Two Maps:
sToT
to map characters froms
tot
.tToS
to map characters fromt
tos
.
Iterate Through Both Strings:
For each character in
s
andt
:Check if the mappings are consistent in both directions.
If not, return
false
.
Result:
If all character mappings are consistent, return
true
.
Time Complexity โณ
O(n):
n
is the length of the strings.Each character is visited once.
Space Complexity ๐พ
O(1):
Fixed space for the hash maps since the character set is limited (ASCII).
You can find the full solution here.
Last updated