zoukankan      html  css  js  c++  java
  • Leetcode练习(Python):哈希表类:第205题:给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。

    题目:
    给定两个字符串 s 和 t,判断它们是否是同构的。  如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。  所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。
    思路:
    使用两个哈希表来实现,思路较简单。
    程序:
    class Solution:
        def isIsomorphic(self, s: str, t: str) -> bool:
            length1 = len(s)
            length2 = len(t)
            if length1 != length2:
                return False
            myHashMap1 = {}
            myHashMap2 = {}
            for index in range(length1):
                if s[index] not in myHashMap1 and t[index] not in myHashMap2:
                    myHashMap1[s[index]] = index
                    myHashMap2[t[index]] = index
                else:
                    if myHashMap1.get(s[index]) != myHashMap2.get(t[index]):
                        return False
            return True
  • 相关阅读:
    面向对象一
    模块二:os模块、sys模块、json模块、pickle模块,包
    模块一:时间模块、random模块、hashlib模块、日志模块
    异常处理、迭代器、推导式、生成器
    有参装饰器
    匿名函数、高阶函数
    装饰器
    函数对象、函数嵌套、闭包函数
    名称空间与作用域
    day17 django 相关
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12787519.html
Copyright © 2011-2022 走看看