首先如果你做了leet290單詞規律可以按照上面的**寫,幾乎是一樣ed,只是稍微有些不同
在單詞規律題中,是單詞和字串之間的匹配,是兩種型別,因此在put時候即使是相同值得key也不會進行覆蓋。
但是本題中是都是字元和字元之間的匹配,是相同的型別,因此如果key的值相同則會進行覆蓋影響結果。
boolean e1 = objects.
equals
( mem.
put(
"a",1)
,mem.
put(
'a',1)
);boolean e2 = objects.
equals
( mem.
put(
"a",1)
,mem.
put(
'a',1)
);system.out.
println
(e1)
;//true
system.out.
println
(e2)
;//true
boolean e1 = objects.
equals
( mem.
put(
'a',1)
,mem.
put(
'a',1)
);boolean e2 = objects.
equals
( mem.
put(
'a',1)
,mem.
put(
'a',1)
);system.out.
println
(e1)
;//false
system.out.
println
(e2)
;//true
因此我們需要做一些改動,使之他們之間的匹配是不同的型別即可
public
static
boolean
isisomorphic2
(string s, string t)
public
static
boolean
isisomorphic1
(string s, string t)
也可以採取indexof的方法進行比較字元的位置
最好轉換成字元陣列,這樣執行速度更快,相差3ms差不多
public
static
boolean
isisomorphic
(string s, string t)
}return
true
;}
既然題屬於hashmap的,也可以採用hashmap的方法解答
public
boolean
isisomorphic
(string s, string t)
else
}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 輸...