From 9c8edca3b631ee8585ba8bb24fa414f07a5a46ba Mon Sep 17 00:00:00 2001 From: zerob13 Date: Thu, 30 Aug 2018 18:46:05 +0800 Subject: [PATCH] add new js --- src/js/isomorphicStrings.js | 45 +++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/js/isomorphicStrings.js diff --git a/src/js/isomorphicStrings.js b/src/js/isomorphicStrings.js new file mode 100644 index 0000000..bcf7e23 --- /dev/null +++ b/src/js/isomorphicStrings.js @@ -0,0 +1,45 @@ +/** + * @param {string} s + * @param {string} t + * @return {boolean} + */ +var isIsomorphic = function(s, t) { + if (s.length <= 1 && t.length === s.length) { + return true; + } + if (s.length != t.length) { + return false; + } + var isOk = true + var hashMap = [] + var hashMap2 = [] + var i = 0 + for (i = 0; i < s.length; i++) { + var ts = s[i].charCodeAt(0); + var tb = t[i].charCodeAt(0); + if (hashMap[ts] == undefined) { + if (hashMap2[tb] == undefined) { + hashMap[ts] = tb + hashMap2[tb] = 1 + } else { + isOk = false; + break; + } + continue; + } else { + if (hashMap[ts] == tb) { + continue; + } else { + isOk = false; + break; + } + } + } + return isOk; +}; + +console.log(isIsomorphic('egg', 'add')) +console.log(isIsomorphic('foo', 'bar')) +console.log(isIsomorphic('paper', 'title')) +console.log(isIsomorphic('ab', 'aa')) +console.log(isIsomorphic('ab', 'ca'))