DSA problem
Isomorphic Strings
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.
In other words, the mapping must be a bijection (one-to-one in both directions). If s and t have different lengths they cannot be isomorphic.
Examples
Example 1
Input:
s = "egg", t = "add"Output:
trueExplanation: Map e -> a and g -> d. Replacing every character of "egg" yields "add", and the mapping is consistent and one-to-one.
Example 2
Input:
s = "foo", t = "bar"Output:
falseExplanation: The character o would need to map to both a and r, which is not allowed, so the strings are not isomorphic.
Example 3
Input:
s = "paper", t = "title"Output:
trueExplanation: Map p -> t, a -> i, e -> l, r -> e. Every occurrence is consistent and no two source characters share a target.
Constraints
- 1 <= s.length <= 5 * 10^4
- t.length == s.length
- s and t consist of any valid ASCII character.
3 hints and a full solution walkthrough with step-by-step visualizations are available in the practice editor.