LeetCode 205. 同构字符串

LeetCode 205. 同构字符串

给定两个字符串 s 和 t ,判断它们是否是同构的。

如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。

每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。

示例 1:

输入:s = "egg", t = "add"

输出:true

示例 2:

输入:s = "foo", t = "bar"

输出:false

示例 3:

输入:s = "paper", t = "title"

输出:true

提示:

1 <= s.length <= 5 * 104

t.length == s.length

s 和 t 由任意有效的 ASCII 字符组成

哈希表,还是用两个哈希表构建双射关系比较合适

python 复制代码
class Solution:
    def isIsomorphic(self, s: str, t: str) -> bool:
        length = len(s)
        d = {}
        for i in range(length):
            if s[i] not in d:
                d[s[i]] = t[i]
            else:
                if d[s[i]] != t[i]:
                    return False
        return len(set(d.keys())) == len(set(d.values()))
相关推荐
浅念-3 小时前
递归解题指南:LeetCode经典题全解析
数据结构·算法·leetcode·职场和发展·排序算法·深度优先·递归
Kiling_07043 小时前
Java集合进阶:Set与Collections详解
算法·哈希算法
智者知已应修善业3 小时前
【51单片机89C51及74LS273、74LS244组成】2022-5-28
c++·经验分享·笔记·算法·51单片机
夏日听雨眠3 小时前
LInux(逻辑地址与物理地址的区别,文件描述符,lseek函数)
linux·运维·网络
洛水水4 小时前
【力扣100题】33.验证二叉搜索树
算法·leetcode·职场和发展
SimpleLearingAI4 小时前
聚类算法详解
算法·数据挖掘·聚类
刀法如飞5 小时前
Go 字符串查找的 20 种实现方式,用不同思路解决问题
算法·面试·程序员
qq_542515415 小时前
Ubuntu 22.04.4 LTS安装ToDesk最新版打不开,无响应?旧版本4.7.2_277版本分享
linux·ubuntu·todesk
火车叼位5 小时前
替代 Tiny Win10 的 Linux 方案:Debian XFCE 精简桌面搭建
linux·运维
小麦嵌入式5 小时前
FPGA入门(四):时序逻辑计数器原理与 LED 闪烁实现
linux·驱动开发·stm32·嵌入式硬件·fpga开发·硬件工程·dsp开发