题意:判断两个字符串的模式是否相同。
思路:遍历字符串, 在字母相同的位置上,另一个字符串的字母是否相同。
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;
}
};

本文介绍了一种用于判断两个字符串模式是否相同的算法实现。通过遍历字符串,并比较对应位置的字符来确保模式的一致性。该算法使用了两个布尔型向量来跟踪已检查的字符,确保所有相关联的字符对都保持一致。
1741

被折叠的 条评论
为什么被折叠?



