思路:创建两个哈希表分别存储s对应t的映射和t对应s的映射,每次添加映射时都判断字符是否同构,两个哈希表都要过
var isIsomorphic = function(s, t) {
if(s.length!==t.length){
return false
}
let map1=new Map()
let map2=new Map()
for(let i=0;i<s.length;i++){
if(map1.has(s[i])){
if(map1.get(s[i])!==t[i]){
return false
}
}else if(map2.has(t[i])){
if(map2.get(t[i])!==s[i]){
return false
}
}else{
map1.set(s[i],t[i])
map2.set(t[i],s[i])
}
}
return true
};
时间复杂度O(n),空间复杂度O(1)