LeetCode #205. Isomorphic Strings

题目

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
posted @ 2020-12-07 14:02  老鼠司令  阅读(23)  评论(0编辑  收藏  举报