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()))
相关推荐
老余捞鱼8 小时前
线性回归实战:5步验证你的量化因子是否真有效
算法·金融·回归·线性回归·ai量化
想吃火锅10058 小时前
【leetcode】121.买卖股票的最佳时机js/c++
算法·leetcode·职场和发展
Fcy6488 小时前
Linux下 可重入函数、volatile关键字和SIGCHLD信号
linux·可重入函数·volatile关键字·sigchld
码云数智-大飞8 小时前
RAII 与智能指针深度拆解
java·前端·算法
Dick5078 小时前
ROS2 常用命令表
人工智能·学习·算法·机器人
qeen878 小时前
【Linux】Linux简单介绍与基本指令(上)
linux·运维·服务器·学习
tianyuanwo9 小时前
深入解析 RISC-V 虚拟化中的 UEFI 固件配置:从 XML 到 NVRAM 的生命周期管理
xml·linux·risc-v
apcipot_rain9 小时前
计科八股20260616(2)/面经——线性代数对称阵求n次幂、概率论最大似然估计
算法
道川贤林9 小时前
OrangePi 系统启动优先级修改
linux·linux驱动·orangepi·u-boot
cici158749 小时前
彩色图像模糊增强(Fuzzy Enhancement)MATLAB 实现
开发语言·算法·matlab