# 205.同构字符串

TIP

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

如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。

每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。

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

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

输入:s = "paper", t = "title"
输出:true
1
2
3
4
5
6
7
8
/**
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var isIsomorphic = function(s, t) {
    let S = new Map, T = new Map
    for(let i=0;i<s.length;i++) {
        const a = s[i],b=t[i]
        if(S.has(a) &&S.get(a) !== b || T.has(b)&&T.get(b) !== a) return false;
        S.set(a,b)
        T.set(b,a)
    }
    return true
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15