您的位置:首页 > 其它

Isomorphic Strings

2015-06-08 10:16 218 查看
class Solution {
public:
bool isIsomorphic(string s, string t) {
map<char,char> mp;
int sl=s.size(),st=t.size();
if(sl!=st)
return 0;
int used[300];
memset(used,0,sizeof(used));
int i;
for(i=0;i<st;i++)
{
if(mp[s[i]]==t[i])
continue;
if(mp[s[i]]==0&&used[t[i]]==0)
{
mp[s[i]]=t[i];
used[t[i]]=1;
continue;
}
return 0;
}
return 1;
}
};


View Code
1、character可以是数字 、大写字母、小写字母、标点符号等0~127个ASCIIS码字符。

 所以一开始用了函数 transform(s.begin(),s.end(),s.begin(),::tolower);将所有的字母转化为小写字母就出错了。

2、此题只要求a映射到b=>其他字符不能映射到b,可以考虑加强条件,a映射到b,=>b映射到a
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: