美文网首页
[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