205. 同构字符串
给定两个字符串 s 和 t,判断它们是否是同构的。
如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。
所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。
示例 1:
输入: s = "egg", t = "add"
输出: true示例 2:
输入: s = "foo", t = "bar"
输出: false示例 3:
输入: s = "paper", t = "title"
输出: true进阶:890. 查找和替换模式
题解
解1:
/**
* @param {string} s
* @param {string} t
* @return {boolean}
*/
var isIsomorphic = function(s, t) {
function ss(pattern) {
let arr = '', a = 0,temp=''
for (let i = 0; i < pattern.length ; i++) {
if(temp.indexOf(pattern[i])==-1){
arr += a + ''
}else{
arr += arr[temp.indexOf(pattern[i])] + ''
}
if (pattern[i] != pattern[i + 1]) {
a++
}
temp+=pattern[i]
}
return arr
}
if (ss(s) == ss(t)) {
return true
}
return false
};
解2:
/**
* @param {string} s
* @param {string} t
* @return {boolean}
*/
var isIsomorphic = function(s, t) {
for(let i=0;i<s.length;i++){
if(s.indexOf(s[i])!=t.indexOf(t[i])){
return false
}
}
return true
};
575. 分糖果 »