给定两个字符串 s 和 t ,判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。
输入:s = “egg”, t = “add”
输出:true
输入:s = “foo”, t = “bar”
输出:false
解题思路:
把两个串对应位置存入字典,看是否具有对称性和唯一性
class Solution:
def isIsomorphic(self, s: str, t: str) -> bool:
dic1, dic2 = {}, {}
for schar, tchar in zip(s, t):
if schar not in dic1:
dic1.update( {schar:tchar} )
else:
if tchar != dic1[schar]:
return False
for schar, tchar in zip(s, t):
if tchar not in dic2:
dic2.update( {tchar:schar} )
else:
if schar != dic2[tchar]:
return False
return True