1、题目描述
输入字符串s和t,判断他们是否是同构的。
也就是说字母对应时一对一的。
2、思路
哈希表保存对应关系,集合表示那些元素已经作为值存在过了,或者说它是值域。
3、代码
bool isIsomorphic(string s, string t) {
map<char,char>m;
set<char>s1;
int l = s.size();
for(int i=0;i<l;i++){
if(m.find(s[i])==m.end()){
if(s1.find(t[i])==s1.end()){
m[s[i]]=t[i];
s1.insert(t[i]);
}
else
return false;
}
else{
if(m[s[i]]!=t[i])
return false;
}
}
return true;
}