bool isIsomorphic(char* s, char* t) {
char charArrayS[256]={0};
char charArrayT[256]={0};
int i=0;
while(s[i]){
if(charArrayS[s[i]]==0&&charArrayT[t[i]]==0){
charArrayS[s[i]]=t[i];
charArrayT[t[i]]=s[i];
}else {
if(charArrayS[s[i]]!=t[i]||charArrayT[t[i]]!=s[i]){
return false;
}
}
i++;
}
return true;
}
这边相当于我从s读一个新字母 然后把这个字母映射成另外一个字母(t中的)
如果是一个已经读过的字母 就比较这次s的是不是和上次一样
就ok
本来想只用一个数组 然而不行
for example
ab // aa a和b都可以映射成 a 这样 就比较不了了
所以两边都弄 一个数组 这样应该可以保证两边一对一 (吧?)