【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字串
- 205. 同構字串字串
- 2020-12-03(205. 同構字串)字串
- 每日一練(43):同構字串字串
- Python每日筆記07Python筆記
- [LeetCode] 205. Isomorphic StringsLeetCode
- 【leetcode 簡單】 第五十九題 同構字串LeetCode字串
- 【菜鳥教程筆記】Python字串筆記Python字串
- 每日一道Leetcode——上升下降字串LeetCode字串
- leetcode刷題筆記(3)(python)LeetCode筆記Python
- 【刷題日記】leetcode-767 重構字串LeetCode字串
- 1203-同構字串字串
- Python學習筆記 - 字串,數字Python筆記字串
- 【廖雪峰python入門筆記】raw 字串和多行字串表示Python筆記字串
- Python 學習筆記(6)— 字串格式化Python筆記字串格式化
- Python學習筆記:第3天 字串的操作Python筆記字串
- Python3學習筆記-字串和編碼Python筆記字串
- 【Python學習】學習筆記 14-15 字串Python筆記字串
- IOS筆記之字串iOS筆記字串
- 字串學習筆記字串筆記
- 字串做題筆記字串筆記
- LeetCode每日一題: 反轉字串中的母音字母(No.345)LeetCode每日一題字串
- leetcode刷題筆記LeetCode筆記
- LeetCode 刷題筆記LeetCode筆記
- python3 筆記12.字串支援的函式Python筆記字串函式
- 協同過濾筆記筆記
- 「翻轉字串」python之leetcode刷題|004字串PythonLeetCode
- LeetCode每日一題:反轉字串中的單詞 III(No.557)LeetCode每日一題字串
- 【廖雪峰python入門筆記】字串_轉義字元的使用Python筆記字串字元
- Redis的字串物件筆記Redis字串物件筆記
- 字串家族 學習筆記字串筆記
- 【學習筆記】字串匹配筆記字串匹配
- Python leetcode tree記錄PythonLeetCode
- leetcode刷題筆記605LeetCode筆記
- Leetcode學習筆記(1)LeetCode筆記
- (python)資料結構—字串Python資料結構字串
- 《Spring實戰》讀書筆記 #每日筆記 100-004Spring筆記
- Leetcode 893. 特殊等價字串組 python 版本LeetCode字串Python