Skip to content

Instantly share code, notes, and snippets.

@ahmet-cetinkaya
Created October 17, 2021 21:09
Show Gist options
  • Save ahmet-cetinkaya/ba7ed8a77d067ce98306577cd07ee57a to your computer and use it in GitHub Desktop.
Save ahmet-cetinkaya/ba7ed8a77d067ce98306577cd07ee57a to your computer and use it in GitHub Desktop.
Leetcode Solution - 205. Isomorphic Strings
public class Solution {
public bool IsIsomorphic(string s, string t) {
var length = s.Length;
var dict = new Dictionary<char, char>();
for (var i = 0; i < length; ++i)
if (dict.ContainsKey(s[i]))
{
if (dict[s[i]] != t[i]) return false;
}
else
{
if (dict.ContainsValue(t[i])) return false;
dict.Add(s[i], t[i]);
}
return true;
}
}
// Result: https://leetcode.com/submissions/detail/572834603/
@ahmet-cetinkaya
Copy link
Author

ahmet-cetinkaya commented Oct 17, 2021

LeetCode 205. Isomorphic Strings: https://leetcode.com/problems/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.

Example 1:
Input: s = "egg", t = "add"
Output: true

Example 2:
Input: s = "foo", t = "bar"
Output: false

Example 3:
Input: s = "paper", t = "title"
Output: true

Constraints:
1 <= s.length <= 5 * 104
t.length == s.length
s and t consist of any valid ascii character.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment