題目:
給定兩個字串s和t,判斷它們是否是同構的。
如果s中的字元可以被替換得到t,那麼這兩個字串是同構的。
所有出現的字元都必須用另乙個字元替換,同時保留字元的順序。兩個字元不能對映到同乙個字元上,但字元可以對映自己本身。
示例 1:
輸入: s = "egg", t = "add"
輸出: true
示例 2:
輸入: s = "foo", t = "bar"
輸出: false
示例 3:
輸入: s = "*****", t = "title"
輸出: true
說明:你可以假設s和t具有相同的長度。
class solution(object):
def isisomorphic(self, s, t):
""":type s: str
:type t: str
:rtype: bool
"""return len(set(zip(s,t))) == len(set(s)) == len(set(t))
zip()函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。
以下例項展示了 zip 的使用方法:
a = [1,2,3]
b = [4,5,6]
zipped = zip(a,b) # 打包為元組的列表
結果:[(1, 4), (2, 5), (3, 6)]
set()函式建立乙個無序不重複元素集,可進行關係測試,刪除重複資料,還可以計算交集、差集、並集等。
LeetCode刷題之205 同構字串
我不知道將去向何方,但我已在路上!示例 1 輸入 s egg t add 輸出 true示例 2 輸入 s foo t bar 輸出 false示例 3 輸入 s t title 輸出 trueclass solution def isisomorphic self,s str,t str bool...
Leetcode刷題之括號
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出 true 示例 3 輸入 輸出 false 示例 4 輸入 輸出 false 示例 5 輸入 輸...
leetcode刷題之堆
今天終於開啟的第二個專題的刷題之旅堆,不過第乙個專題棧還有乙個小問題沒解決就是利用遞減棧去解決接雨水的問題,雖然那道題我用動態規劃的問題解決出來了,我記得看到過一道面試題,問棧和堆有什麼區別。通過搜尋網上的資料總結如下。棧 stack 由系統分配記憶體,速度較快,但是自己無法掌握。堆 一般用兩種方法...