class Solution {
public:
bool isIsomorphic(string s, string t) {
int n = s.size();
if (t.size() != n) return false;
if (!n) return true;
map<char, char> char_map_s;
map<char, char>::iterator it_s;
map<char, char> char_map_t;
map<char, char>::iterator it_t;
for (int i = 0; i < n; i++) {
it_s = char_map_s.find(s[i]);
if (it_s != char_map_s.end()) {
if (it_s->second !=t[i]) {
return false;
}
} else {
char_map_s[s[i]] = t[i];
}
it_t = char_map_t.find(t[i]);
if (it_t != char_map_t.end()) {
if (it_t->second !=s[i]) {
return false;
}
} else {
char_map_t[t[i]] = s[i];
}
}
return true;
}
};Isomorphic Strings
最新推荐文章于 2020-08-15 09:48:30 发布
本文介绍了一个C++实现的算法,用于判断两个字符串是否为同构字符串。通过使用两个映射表来跟踪字符间的对应关系,确保了每个字符及其映射唯一对应。此方法有效地解决了字符串同构问题。
342

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



