【Leetcode每日筆記】205. 同構字串(Python)
題目
給定兩個字串 s 和 t,判斷它們是否是同構的。
如果 s 中的字元可以被替換得到 t ,那麼這兩個字串是同構的。
所有出現的字元都必須用另一個字元替換,同時保留字元的順序。兩個字元不能對映到同一個字元上,但字元可以對映自己本身。
示例 1:
輸入: s = “egg”, t = “add” 輸出: true
示例 2:
輸入: s = “foo”, t = “bar” 輸出: false
示例 3:
輸入: s = “paper”, t = “title” 輸出: true
說明: 你可以假設 s 和 t 具有相同的長度。
解題思路
雜湊表
s中的每一個字元都與t中字元對應,那麼可以用雜湊表的鍵值對來表示;如abc和qwe,雜湊表是{'a':'q','b':'w','c':'e'}
,即可判斷是否為同構字串
程式碼
class Solution:
def isIsomorphic(self, s: str, t: str) -> bool:
if len(s) != len(t):
return False
dic = {}
for st in zip(s,t):
if st[0] in dic:
if dic[st[0]] != st[1]:
return False
else:
dic[st[0]] = st[1]
# 考慮如‘ab’和‘aa’這種類似的情況
if len(dic.values()) == len(set(dic.values())):
return True
else:
return False
相關文章
- LeetCode 205. 同構字串LeetCode字串
- 2020-12-03(205. 同構字串)字串
- 每日一練(43):同構字串字串
- Python每日筆記07Python筆記
- 【leetcode 簡單】 第五十九題 同構字串LeetCode字串
- [LeetCode] 205. Isomorphic StringsLeetCode
- 【菜鳥教程筆記】Python字串筆記Python字串
- 每日一道Leetcode——上升下降字串LeetCode字串
- Python學習筆記 - 字串,數字Python筆記字串
- Python學習筆記-字串及操作Python筆記字串
- 【刷題日記】leetcode-767 重構字串LeetCode字串
- leetcode刷題筆記(3)(python)LeetCode筆記Python
- 【廖雪峰python入門筆記】raw 字串和多行字串表示Python筆記字串
- Python 學習筆記(6)— 字串格式化Python筆記字串格式化
- GoCN 每日新聞 -- 筆記Go筆記
- Python中的字串物件(《Python原始碼剖析》筆記三)Python字串物件原始碼筆記
- 協同過濾筆記筆記
- IOS筆記之字串iOS筆記字串
- 字串做題筆記字串筆記
- 字串學習筆記字串筆記
- Python3學習筆記-字串和編碼Python筆記字串
- Python學習筆記:第3天 字串的操作Python筆記字串
- 【Python學習】學習筆記 14-15 字串Python筆記字串
- python3 筆記12.字串支援的函式Python筆記字串函式
- Redis的字串物件筆記Redis字串物件筆記
- 【學習筆記】字串匹配筆記字串匹配
- 字串家族 學習筆記字串筆記
- LeetCode每日一題: 反轉字串中的母音字母(No.345)LeetCode每日一題字串
- React同構踩坑記錄React
- 【廖雪峰python入門筆記】字串_轉義字元的使用Python筆記字串字元
- LeetCode 刷題筆記LeetCode筆記
- leetcode刷題筆記LeetCode筆記
- LeetCode每日一題:反轉字串中的單詞 III(No.557)LeetCode每日一題字串
- (python)資料結構—字串Python資料結構字串
- KMP字串匹配學習筆記KMP字串匹配筆記
- IOS筆記之可變字串iOS筆記字串
- C++讀書筆記:字串C++筆記字串
- 學習筆記——字串方法整理筆記字串