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

如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。

所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。

示例 1:

输入: s = "egg", t = "add"
输出: true
示例 2:

输入: s = "foo", t = "bar"
输出: false
示例 3:

输入: s = "paper", t = "title"
输出: true
说明:
你可以假设 s 和 t 具有相同的长度。

思路:见代码:我们记住每一个s中出现的字符,和对应的t中的字符。

在之后的遍历中,要么在s中遇到新的字符,要么符合之前的记录。否则是false。

然后就凉了。

后来想了一下:比如ab和aa,从s到t的角度看:a对应a,b对应a,检查的没毛病。

但是从t到s的角度看:a对应了a和b两个字符,明显不对。

所以同样的代码逻辑应该正着跑一遍,反着跑一遍。

class Solution {public boolean isIsomorphic(String s, String t) {return isIsomorphicHelper(s, t) && isIsomorphicHelper(t, s);}private boolean isIsomorphicHelper(String s, String t) {int n = s.length();HashMap<Character, Character> map = new HashMap<>();for (int i = 0; i < n; i++) {char c1 = s.charAt(i);char c2 = t.charAt(i);if (map.containsKey(c1)) {if (map.get(c1) != c2) {return false;}} else {map.put(c1, c2);}}return true;}
}

leetcode205. 同构字符串 一般人一次做不对的简单题相关推荐

  1. 2022-4-20 Leetcode205.同构字符串

    第一版 /*class Solution { public:bool isIsomorphic(string s, string t) {unordered_map<char,int> m ...

  2. LeetCode简单题之同构字符串

    题目 给定两个字符串 s 和 t ,判断它们是否是同构的. 如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的. 每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序. ...

  3. 怎样获取网站的域名_深入挖掘同行,厉害的人是怎样做的?

    为了说清楚这个问题,先给你出一道题,看看你会如何做: 假设你刚进入某个行业,就先以库存尾货行业为例吧,假设你刚进入这个行业,或者你在这个行业呆了很久遇到了瓶颈,压着货,出着仓库租金,你雇佣了几个伙计在 ...

  4. IT人不要一直做技术[转载]

    IT人不要一直做技术 [引子]感觉这篇文章很有深意,正是我所想说的话.希望大家有借鉴. [原文] 我现在是自己做,但我此前有多年在从事软件开发工作,当回过头来想一想自己,觉得特别想对那些初学JAVA/ ...

  5. C#正在被人用来做什么?--在CSDN上引发小讨论的帖子

    C#正在被人用来做什么?--在CSDN上引发小讨论的帖子 主 题:  C#正在被人用来做什么?  作 者:  manio (马牛)  等 级:    信 誉 值:  100  所属社区:  .NET技 ...

  6. 美国教授北大演讲:并不是每个人都适合做学术

    学术是一个生活之道,学术生涯不是一个早九晚五的工作,而是一种让你持续思考的工作和生活.要不要选择学术,要看你是不是从这种学术工作里得到快乐,是不是愿意做这件事情.有一个说法,学术有三个功能:追求真理, ...

  7. 真正聪明的人从来不自己做PPT,看完这篇就放假吧!

    你做PPT的时候是什么样的? 从完全空白的页面开始新建-- 从垃圾箱里翻不小心删除的素材-- 用已经用了三四遍的模板修修改改-- 搞定初稿就已经是凌晨三点 优化内容? 呵呵 人家的PPT高效还美 而你 ...

  8. python123判断字符串结尾_Python学习教程:在字符串的开头和结尾处做文本匹配

    原标题:Python学习教程:在字符串的开头和结尾处做文本匹配 Python学习教程:在字符串的开头和结尾处做文本匹配 我们需要在字符串的开头和结尾处按照指定的文本模式做检查,例如检查文件的扩展名.U ...

  9. 那些从小不干活的人,不做家务,不做饭的人后来怎么样了呀?

    吃完午饭,我媳妇给我找到了这么一道问答题,我媳妇自娱自乐的说道:那些从下不干活的人,不做家务.不做饭的人后来都幸福的生活着,因为不会,遇到烦心事的机会也多,经常被生活无情的修理,慢慢的不得已而逐渐学会 ...

最新文章

  1. 关于QQ群共享一百多K以上的文件上传失败的问题
  2. OSChina 周六乱弹 —— 去做点疯狂的事情
  3. 修改2k自动登陆的脚本
  4. 关于子对话框的创建与销毁
  5. 用诸葛孔明的智慧,读懂新型数据中心的“四新”机遇与产业逻辑
  6. iOS回顾笔记( 02 ) -- 由九宫格布局引发的一系列“惨案”
  7. java comparator_Java基础之String漫谈(二)
  8. 三层架构学习的困难_“网工起航计划”3天集训营 带你了解大型企业网络架构设计!...
  9. 手机编写python程序_Python实现自动上京东抢手机
  10. chrome java插件_Java程序员喜欢的10款软件里有你在用的吗?
  11. 1.Python基础----认识环境
  12. OpenCV中的图像插值示例
  13. Python之configparser模块详解和使用
  14. 使用JS禁用浏览器后退按钮
  15. Android网络多线程断点续传下载
  16. pdf怎么压缩的小一点?
  17. 计算机网络:第四章网络层课后习题及答案(精细版)
  18. h264解码之环路滤波
  19. rpc介绍,和PHP常用的rpc框架
  20. 生产力 生产关系 生产工具_破坏生产力的5种方法

热门文章

  1. linux下c 编译脚本,Linux下编译C语言与makefile脚本语言
  2. 网络编程模型综述 之 UNIX网络I/O模型
  3. windowsCE异常和中断服务程序初探(=)
  4. python从小白到大牛pdf 下载 资源共享_Kotlin从小白到大牛 (关东升著) 中文pdf高清版[12MB]...
  5. Mybatis笔记——Mybatis入门
  6. mysql not is null_转!!mysql 字段 is not null 和 字段 !=null
  7. python 中文apichm_python api 中文 chm
  8. 【转】linx 设备名字来由 sd sr sg st
  9. 【转】Linux的.a、.so和.o文件
  10. python两个集合相减_python集合的运算,两个集合相减是什么意思