一、题目
二、解题
输入:两个字符串
输出:判断是否可以被完整替换(即相同字母的位置一样,且一一对应)
使用字典储存信息,把第一个字符串的字符作为key,把对应位置第二个字符串的字符作为value
遍历第一个字符串:
- 当key已经存在在字典中,判断该key的value是否和当前位置第二个字符串的value相同,不同则说明在第一个字符串中,有两个相同的字符,对应了第二个字符串中不同的字符,返回False。
- 当key不不存在,判断key对应的新的value是否已经存在字典中(有其他的key对应这个value),有则说明在第一个字符串中,有两个不同的字符(key),对应了第二个字符串中相同的字符,返回False;如果没有则加入到键中,继续遍历
- 遍历完第一字符串,则返回True。
三、尝试与结果
class Solution(object):
def isIsomorphic(self, s, t):
resultDit= {}
if (len(s) != len(t)): return False
for i in range(0,len(s)):
key = s[i]
value = t[i]
if not resultDit.has_key(s[i]):
if value in resultDit.values():
return False
resultDit[key] = value
else:
if (value != resultDit.get(key)):
return False
return True
结果:AC