交互式认知学习实验室

第 1 章 · 数值与哈希 · Unit 06

仅本次页面有效
1
LeetCode · Easy哈希表 · 字符串 · 双向映射
CHAPTER 01 · UNIT 06

一致映射还不够,还要阻止两个字符挤进同一个目标。

Unit 05 用 char → count 保存数量;本单元把字典升级为关系账本。只有同时维护“源字符 → 目标字符”和“目标字符 → 源字符”,才能保证映射是一一对应。

06
同构字符串

前置:字典键值语义。新增:映射一致性、单射、双向约束与同步更新。

已恢复上次学习现场阶段、动画、槽位、代码和滚动位置均已恢复。

LeetCode #205 · 同构字符串

给定两个等长字符串 s 和 t,判断能否把 s 中每一种字符稳定地替换成某一种字符,从而得到 t。同一源字符的所有出现必须替换为同一目标字符;两个不同源字符不能映射到同一目标字符;字符也可以映射到自身。

  • 1 ≤ len(s) ≤ 5 × 10⁴
  • len(t) == len(s)
  • s 和 t 可包含任意有效 ASCII 字符

题目示例

s = "egg", t = "add" 输出:True 映射:e → a,g → d s = "foo", t = "bar" 输出:False 原因:o 不能同时映射到 a 和 r s = "paper", t = "title" 输出:True

Unit 06 已完成,但页面不会自动跳转

你可以继续回看双向映射动画、调整代码、重跑迁移轨迹或检查单向映射的反例。准备好后再手动进入 Unit 07。

手动进入 Unit 07 · 字母异位词分组
代码查看