一開始寫的是用兩個字典,將兩個字串的不同元素作為鍵,值是乙個列表,儲存該字串中等於當前鍵的索引,如abcccdd字串的字典為:。然後將兩個字典的values()取出進行比較。
class solution:
def isisomorphic(self, s: str, t: str) -> bool:
dic1,dic2={},{}
siz=len(s)
if not siz:
return true
for i in range(siz):
if s[i] in dic1:
else:
dic1[s[i]]=[i]
if t[i] in dic2:
else:
dic2[t[i]]=[i]
if dic1[s[i]]!=dic2[t[i]]:
return false
return list(dic1.values())==list(dic2.values())
大神的**:
class solution:
def isisomorphic(self, s: str, t: str) -> bool:
dic1,dic2={},{}
for i in range(len(s)):
if s[i] not in dic1 and t[i] not in dic2:
dic1[s[i]]=t[i]
dic2[t[i]]=s[i]
else:
try:
if dic1[s[i]]!=t[i] or dic2[t[i]]!=s[i]:
return false
except:
return false
return true
205 同構字串
給定兩個字串 s 和 t,判斷它們是否是同構的。如果 s 中的字元可以被替換得到 t 那麼這兩個字串是同構的。所有出現的字元都必須用另乙個字元替換,同時保留字元的順序。兩個字元不能對映到同乙個字元上,但字元可以對映自己本身。示例 1 輸入 s egg t add 輸出 true 示例 2 輸入 s ...
205 同構字串
給定兩個字串 s 和 t,判斷它們是否是同構的。如果 s 中的字元可以被替換得到 t 那麼這兩個字串是同構的。所有出現的字元都必須用另乙個字元替換,同時保留字元的順序。兩個字元不能對映到同乙個字元上,但字元可以對映自己本身。輸入 s egg t add 輸出 true輸入 s foo t bar 輸...
205 同構字串
給定兩個字串 s 和 t,判斷它們是否是同構的。如果 s 中的字元可以被替換得到 t 那麼這兩個字串是同構的。所有出現的字元都必須用另乙個字元替換,同時保留字元的順序。兩個字元不能對映到同乙個字元上,但字元可以對映自己本身。示例 1 輸入 s egg t add 輸出 true 示例 2 輸入 s ...