給定兩個字串 s 和 t,判斷它們是否是同構的。
如果 s 中的字元可以被替換得到 t ,那麼這兩個字串是同構的。
所有出現的字元都必須用另乙個字元替換,同時保留字元的順序。兩個字元不能對映到同乙個字元上,但字元可以對映自己本身。
說明:你可以假設 s 和 t 具有相同的長度。
示例 1:輸入:s = 「egg」, t = 「add」
輸出:true
示例 2:輸入:s = 「foo」, t = 「bar」
輸出:false
示例 3:[i]輸入:s = 「*****」, t = 「title」
輸出:true
,t[i
]s[i],t[i]
s[i],t
[i],當它們第一次出現時,建立對映,分別表示key,value。當然也可以同時對映到第三種表示(好麻煩,直接對映不行嗎)。
class
solution
:def
isisomorphic
(self, s:
str, t:
str)
->
bool
: hashmap =
for i in
range
(len
(s))
:if s[i]
notin hashmap:
if t[i]
in hashmap.values():
return
false
hashmap[s[i]
]= t[i]
elif hashmap[s[i]
]!= t[i]
:return
false
return
true
205 同構字串
一開始寫的是用兩個字典,將兩個字串的不同元素作為鍵,值是乙個列表,儲存該字串中等於當前鍵的索引,如abcccdd字串的字典為 然後將兩個字典的values 取出進行比較。class solution def isisomorphic self,s str,t str bool dic1,dic2 s...
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 輸...