认真地分类讨论,评判复杂度,再决定是否要写代码执行。整套流程干净利落,不存在主观臆想,也不会有对事实结果计算的巨大偏差。
1. 题目
2. 分析
这里提供一版可以解题的思路。
定义两个词典,这两个词典分别记录s字符串中各位字符映射到字符串t对应位置的字符,如果是同构字符串,那么这两个词典之间都是会一一对应,不会存在重复映射,也不会存在漏映射的情况。
3. 代码
3.1 错误代码
下面这版代码是错误的代码。 错误的原因在于:字符个数一致不代表替换后能一致。 举个简单例子:aabab
bbaaa
这两个字符串的a
和 b
的个数都能对应的上,但它们并不是一个同构字符串。原因在于它们有一个相同位(第4位)
3.2 正确代码