LeetCode #205. Isomorphic Strings
题目
解题方法
设置一个字典,遍历s做s->t的映射,如果遍历中出现s[i]已经在字典内但其对应的t[i]不是s[i]在字典中对应的值的情况,就返回False。同理再遍历t做t->s的映射,再来一遍判断就行了。
时间复杂度:O(n)
空间复杂度:O(n)
代码
class Solution:
def isIsomorphic(self, s: str, t: str) -> bool:
dic = {}
for i in range(len(s)):
if s[i] not in dic:
dic[s[i]] = t[i]
elif dic[s[i]] != t[i]:
return False
dic.clear()
for i in range(len(t)):
if t[i] not in dic:
dic[t[i]] = s[i]
elif dic[t[i]] != s[i]:
return False
return True