AlgoInsight

DSA problem

Isomorphic Strings

EasyHash TablesPattern: Hash Map / Bijectiontop150AmazonGoogleLinkedIn

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: true
Explanation: 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: false
Explanation: 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: true
Explanation: Map p -> t, a -> i, e -> l, r -> e. Every occurrence is consistent and no two source characters share a target.

Constraints

3 hints and a full solution walkthrough with step-by-step visualizations are available in the practice editor.

hash-tablestring

Browse all DSA problems