1、题目:205. 同构字符串 - 力扣(LeetCode) (leetcode-cn.com)
2、代码实现
思路参考:
/**
* @param {string} s
* @param {string} t
* @return {boolean}
*/
var isIsomorphic = function(s, t) {
function isIsomorphicHelper(s, t) {
let map = new Map();
for(let i=0; i<s.length; i++) {
if(map.has(s[i])) {
if(map.get(s[i]) !== t[i]) return false;
} else {
map.set(s[i], t[i]);
}
}
return true;
}
if(s.length !== t.length) {
return false;
} else {
return isIsomorphicHelper(s, t) && isIsomorphicHelper(t, s);
}
};
/**
* @param {string} s
* @param {string} t
* @return {boolean}
*/
var isIsomorphic = function(s, t) {
const s2t = {};
const t2s = {};
for(let i=0; i<s.length; i++) {
if(s2t[s[i]] && s2t[s[i]] !== t[i] || t2s[t[i]] && t2s[t[i]] !== s[i]) {
return false;
} else {
s2t[s[i]] = t[i];
t2s[t[i]] = s[i];
}
}
return true;
};