美文网首页
[LeetCode By Python] 205. Isomor

[LeetCode By Python] 205. Isomor

作者: 乐乐可爱睡觉 | 来源:发表于2016-06-01 10:06 被阅读488次

一、题目

Isomorphic Strings

二、解题

输入:两个字符串
输出:判断是否可以被完整替换(即相同字母的位置一样,且一一对应)

使用字典储存信息,把第一个字符串的字符作为key,把对应位置第二个字符串的字符作为value
遍历第一个字符串:

  • 当key已经存在在字典中,判断该key的value是否和当前位置第二个字符串的value相同,不同则说明在第一个字符串中,有两个相同的字符,对应了第二个字符串中不同的字符,返回False。
  • 当key不不存在,判断key对应的新的value是否已经存在字典中(有其他的key对应这个value),有则说明在第一个字符串中,有两个不同的字符(key),对应了第二个字符串中相同的字符,返回False;如果没有则加入到键中,继续遍历
  • 遍历完第一字符串,则返回True。

三、尝试与结果

class Solution(object):
    def isIsomorphic(self, s, t):
        resultDit= {}
        if (len(s) != len(t)): return False
        for i in range(0,len(s)):
            key = s[i]
            value = t[i]
            if not resultDit.has_key(s[i]):
                if value in resultDit.values():
                    return False
                resultDit[key] = value
            else:
                if (value != resultDit.get(key)):
                    return False
        return True

结果:AC

相关文章

网友评论

      本文标题:[LeetCode By Python] 205. Isomor

      本文链接:https://www.haomeiwen.com/subject/jbrhdttx.html