給定兩個字串
s
和 t
,判斷它們是否是同構的。如果 s
中的字元可以按某種對映關係替換得到 t
,那麼這兩個字串是同構的。
每個出現的字元都應當對映到另一個字元,同時不改變字元的順序。不同字元不能對映到同一個字元上,相同字元只能對映到同一個字元上,字元可以對映到自己本身。
class Solution: def isIsomorphic(self, s: str, t: str) -> bool: d1 = {} d2 = {} l1 = len(s) l2 = len(t) if l1!=l2: return False for i in range(l1): a = s[i] b = t[i] if a not in d1 and b not in d2: d1[a]=b d2[b]=a else: if a in d1 and d1[a]!=b: return False if b in d2 and d2[b]!=a: return False return True