Isomorphic Strings - Problem
Isomorphic Strings is a classic string mapping problem that tests your understanding of character relationships and hash table usage.

Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the characters in s can be replaced to get t while maintaining these rules:

Consistent mapping: All occurrences of a character must be replaced with the same character
Order preservation: The relative order of characters must remain the same
One-to-one mapping: No two characters may map to the same character (bijective function)
Self-mapping allowed: A character may map to itself

Example: "egg" and "add" are isomorphic because 'e' maps to 'a' and 'g' maps to 'd'.

Input & Output

example_1.py — Basic Isomorphic Match
$ Input: s = "egg", t = "add"
Output: true
💡 Note: The strings are isomorphic because 'e' maps to 'a' and 'g' maps to 'd'. The mapping is consistent: e→a, g→d, g→d.
example_2.py — Non-Isomorphic Strings
$ Input: s = "foo", t = "bar"
Output: false
💡 Note: The strings are not isomorphic. Character 'o' appears twice in s but would need to map to both 'a' and 'r' in t, which violates the consistent mapping rule.
example_3.py — Edge Case Same String
$ Input: s = "paper", t = "title"
Output: true
💡 Note: The strings are isomorphic with mapping: p→t, a→i, p→t, e→l, r→e. Each character maps consistently throughout both strings.

Constraints

  • 1 ≤ s.length ≤ 5 × 104
  • t.length == s.length
  • s and t consist of any valid ASCII character

Visualization

Tap to expand
🔐 Secret Code DecoderOriginal Message (s)"egg"Encoded Message (t)"add"Cipher Table A→B'e' → 'a' ✓'g' → 'd' ✓Cipher Table B→A'a' → 'e' ✓'d' → 'g' ✓Decoding Process1Check 'e' ↔ 'a' mapping2Check 'g' ↔ 'd' mapping3Verify 'g' ↔ 'd' consistency✅ ISOMORPHICAll cipher mappings are consistent!
Understanding the Visualization
1
Initialize Cipher Tables
Set up two cipher tables to track character mappings in both directions
2
Process Character Pairs
For each position, check if the character mapping is consistent with existing cipher rules
3
Verify Bijection
Ensure each character maps to exactly one other character and vice versa
4
Determine Isomorphism
If all mappings are consistent, the strings are isomorphic
Key Takeaway
🎯 Key Insight: Isomorphic strings require a perfect bijective mapping where each character in the first string maps to exactly one character in the second string, and vice versa. Using two hash maps allows us to verify this bidirectional relationship efficiently in O(n) time.
Asked in
Google 42 Amazon 38 Microsoft 29 Meta 25
98.4K Views
High Frequency
~15 min Avg. Time
2.8K Likes
Ln 1, Col 1
Smart Actions
💡 Explanation
AI Ready
💡 Suggestion Tab to accept Esc to dismiss
// Output will appear here after running code
Code Editor Closed
Click the red button to reopen