[LeetCode] Isomorphic Strings
Given two strings s and t,determine if they are isomorphic. Two strings are isomorphic if the characters in s can be replaced to get t. All occurrences of a character must be replaced with another character while preserving the order of characters. No two characters may map to the same character but a character may map to itself. For example, Note: 解题思路建立两个表: 实现代码#include <iostream>
using namespace std;
//Runtime:12ms
class Solution {
public:
bool isIsomorphic(string s,string t) {
int len = s.size();
unsigned char map[123] = {0};
bool isUsed[123] = {0};
for (int i = 0; i < s.size(); i++)
{
if (map[s[i]] == 0)
{
if (!isUsed[t[i]])
{
map[s[i]] = t[i];
isUsed[t[i]] = true;
}
else
{
return false;
}
}
else if (map[s[i]] != t[i])
{
return false;
}
}
return true;
}
};
int main()
{
Solution s;
cout<<s.isIsomorphic("aba","baa")<<endl;
cout<<s.isIsomorphic("egg","add")<<endl;
cout<<s.isIsomorphic("foo","bar")<<endl;
cout<<s.isIsomorphic("paper","title")<<endl;
} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |