205. Isomorphic Strings

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.

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

Note:
You may assume both s and t have the same length.

class Solution:
    def isIsomorphic(self, s, t):
        """
        :type s: str
        :type t: str
        :rtype: bool
        """
        dict = {}
        for i in range(len(s)):
            if not dict.__contains__(s[i]):
                dict[s[i]] = t[i]
            else:
                if dict.get(s[i]) != t[i]:
                    return False
        dict.clear()
        for i in range(len(t)):
            if not dict.__contains__(t[i]):
                dict[t[i]] = s[i]
            else:
                if dict.get(t[i]) != s[i]:
                    return False
        return True
posted @ 2018-11-30 15:19  bernieloveslife  阅读(89)  评论(0编辑  收藏  举报