205. Isomorphic Strings

2021-08-24  本文已影响0人  jluemmmm

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

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

/**
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var isIsomorphic = function(s, t) {
  let mapS = {};
  let mapT = {};
  for (let i = 0; i < s.length; i++) {
    let c1 = s[i];
    let c2 = t[i];
    if (mapS[c1] === undefined && mapT[c2] === undefined) {
      mapS[c1] = c2;
      mapT[c2] = c1;
    } else if ( !(mapS[c1] === c2 && mapT[c2] === c1)) {
      return false
    }
  }
  
  return true;
};
上一篇 下一篇

猜你喜欢

热点阅读