跳到主要内容

2023-9-26

9-26

哈希表

题号205. 同构字符串

题目给定两个字符串 st ,判断它们是否是同构的。

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

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

function isIsomorphic(s: string, t: string): boolean {
let s2t = new Map(),t2s = new Map()
for(let i =0;i<s.length;i++){
let a = s.charAt(i),b = t.charAt(i)
if(s2t.has(a)&&s2t.get(a)!==b||
t2s.has(b)&&t2s.get(b)!==a
)return false
s2t.set(a,b)
t2s.set(b,a)
}
return true
};