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
  • 相关阅读:
    匈牙利算法
    Tabbed Activity = viewpager + fragment ?
    gdb调试多线程多进程
    gdb 调试,当发现程序退出,需要定位程序退出位置时。
    将Linux的信号量sem_t封装成事件对象
    Golang包管理工具govendor的使用&go mod
    go get命令详解
    GoLand生成可执行文件(Windows、Linux)
    Linux下线程pid和tid
    理解Linux的进程,线程,PID,LWP,TID,TGID
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12787519.html
Copyright © 2011-2022 走看看