## 题目地址 https://leetcode-cn.com/problems/isomorphic-strings/ ## 思路 使用两个map 保存 s[i] 到 t[j] 和 t[j] 到 s[i] 的映射关系,如果发现对应不上,立刻返回 false ## C++代码 ``` class Solution { public: bool isIsomorphic(string s, string t) { unordered_map map1; unordered_map map2; for (int i = 0, j = 0; i < s.size(); i++, j++) { if (map1.find(s[i]) == map1.end()) { // map1保存s[i] 到 t[j]的映射 map1[s[i]] = t[j]; } if (map2.find(t[j]) == map2.end()) { // map2保存t[j] 到 s[i]的映射 map2[t[j]] = s[i]; } // 发现映射 对应不上,立刻返回false if (map1[s[i]] != t[j] || map2[t[j]] != s[i]) { return false; } } return true; } }; ``` > 更过算法干货文章持续更新,可以微信搜索「代码随想录」第一时间围观,关注后,回复「Java」「C++」 「python」「简历模板」「数据结构与算法」等等,就可以获得我多年整理的学习资料。