题目:
题解:
思路:将字符串 s 中的每一个字符 a 映射到字符串 t 中对应位置的字符 b,同时将字符串 t 中的每一个字符 b 映射到字符串 s 中对应位置的字符 a,这样来检测是否发生冲突。
代码如下:
class Solution {
public:
// 双hash:s->t t->s
bool isIsomorphic(string s, string t) {
unordered_map<char,char> r1,r2;
int n=s.size();
for(int i=0;i<n;++i)
{
char a=s[i],b=t[i];
// 发生冲突
if(r1.count(a)&&r1[a]!=b||r2.count(b)&&r2[b]!=a)return false;
r1[a]=b,r2[b]=a;
}
return true;
}
};
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)