205. Isomorphic Strings

来源:互联网 发布:杭州淘宝网店诈骗 编辑:程序博客网 时间:2024/06/03 16:32
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,
Given "egg", "add", return true.


Given "foo", "bar", return false.


Given "paper", "title", return true.


bool isIsomorphic(string s, string t){vector<char> mapStoT(127, 0);vector<char> mapTtoS(127, 0);int len = s.length();for (int i = 0; i < len; ++i){char s_char = s[i], t_char = t[i];if (mapStoT[s_char] == 0 && mapTtoS[t_char] == 0){mapStoT[s_char] = t_char;mapTtoS[t_char] = s_char;}else if (mapTtoS[t_char] != s_char || mapStoT[s_char] != t_char){return false;}}return true;}


原创粉丝点击