AC解:
class Solution {
public:
bool isIsomorphic(string s, string t) {
if (s.size() == 0)
return true;
int Len = s.size();
vector<vector<int>> S,T;
for (int i = 0; i < 255; i ++ )
{
vector<int> Temp(1,-1);
S.push_back(Temp);
T.push_back(Temp);
}
for (int i = 0; i < Len; i++)
{
S[s[i]].insert(S[s[i]].begin(), i);
T[t[i]].insert(T[t[i]].begin(), i);
}
for (int i = 0; i < Len; i++)
{
if (S[s[i]].size() != T[t[i]].size())
return false;
else
{
for (int j = 0; j < S[s[i]].size(); j++)
{
if (S[s[i]][j] != T[t[i]][j])
return false;
}
}
}
return true;
}
};