题意:判断两个字符串的模式是否相同。
思路:遍历字符串, 在字母相同的位置上,另一个字符串的字母是否相同。
class Solution {
public:
bool isIsomorphic(string s, string t) {
if(s.length() != t.length()) return false;
vector<bool> ss(s.length(), false);
vector<bool> ts(t.length(), false);
for(unsigned i = 0; i < s.length(); ++ i) {
if(ss[i]) continue;
for(unsigned j = i + 1; j < s.length(); ++ j) {
if(s[j] == s[i]) {
ss[j] = true;
if(t[i] != t[j]) return false;
}
}
}
for(unsigned i = 0; i < t.length(); ++ i) {
if(ts[i]) continue;
for(unsigned j = i + 1; j < t.length(); ++ j) {
if(t[j] == t[i]) {
ts[j] = true;
if(s[i] != s[j]) return false;
}
}
}
return true;
}
};