leetcode刷題--Isomorphic Strings
題目:給定兩個字串s和t,判斷它們是否是同構的。
ps:所謂同構就是說有相同的結構,比如:asfsa 和 12321 。可以看作是一種對映關係,在這組字串中,a對應的1,s對應的2,f對應的3,如果滿足這一對映關係,並一直向後一直保持這種關係則可以說他們有相同的結構。
解題思路:
- 先建立一個字典,把對映關係找出來
- 再遍歷整個字串,如果不滿足對映關係則判斷為錯
不過其實可以一起結合起來,因為是找錯,只要有一處錯了就可以退出迴圈判斷為錯,所以可以邊建字典邊判斷是否滿足對映關係。但需要兩個字串各遍歷一次都沒有錯才行。
程式碼如下:
class Solution:
# @param {string} s
# @param {string} t
# @return {boolean}
def idf(self,s, t):
res = {}
for i in range(len(s)):
if s[i] not in res:
res[s[i]] = t[i]
if res[s[i]] != t[i]:
return False
return True
def isIsomorphic(self, s, t):
if len(s)!=len(t):
return False
return self.idf(s, t) and self.idf(t,s)
相關文章
- LeetCode-Isomorphic StringsLeetCode
- [LeetCode] 205. Isomorphic StringsLeetCode
- LeetCode刷題整理LeetCode
- leetcode刷題(一)LeetCode
- LeetCode 刷題指南(一):為什麼要刷題LeetCode
- LeetCode 刷題筆記LeetCode筆記
- leetcode刷題筆記LeetCode筆記
- LeetCode刷題記錄LeetCode
- 如何使用leetcode刷題LeetCode
- leetcode刷題--Majority ElementLeetCode
- leetcode刷題--Count PrimesLeetCode
- leetcode刷題--Reverse BitsLeetCode
- leetcode刷題--Rotate ArrayLeetCode
- leetcode刷題--Count and SayLeetCode
- Leetcode刷題分類LeetCode
- Leetcode Multiply StringsLeetCode
- Leetcode刷題——求眾數LeetCode
- leetcode刷題筆記605LeetCode筆記
- Leetcode刷題系列彙總LeetCode
- leetcode刷題--Happy NumberLeetCodeAPP
- leetcode刷題--Number of 1 BitsLeetCode
- LeetCode刷題之第701題LeetCode
- Leetcode-Multiply StringsLeetCode
- Multiply Strings leetcode javaLeetCodeJava
- 用Rust刷leetcode第十題RustLeetCode
- 用Rust刷leetcode第八題RustLeetCode
- 用Rust刷leetcode第九題RustLeetCode
- 用 Rust 刷 leetcode 第五題RustLeetCode
- 用 Rust 刷 leetcode 第七題RustLeetCode
- 用 Rust 刷 leetcode 第六題RustLeetCode
- 用 Rust 刷 leetcode 第四題RustLeetCode
- 用 Rust 刷 leetcode 第三題RustLeetCode
- 用 Rust 刷 leetcode 第一題RustLeetCode
- 用 Rust 刷 leetcode 第二題RustLeetCode
- leetcode刷題--Excel Sheet Column TitleLeetCodeExcel
- leetcode刷題--Excel Sheet Column NumberLeetCodeExcel
- leetcode刷題--Valid PalindromeLeetCode
- leetcode刷題--Reverse Linked ListLeetCode