leetcode: Isomorphic Strings
2015-05-16 10:28
316 查看
class Solution { public: bool isIsomorphic(string s, string t) { if(s.empty() && t.empty()) return true; int sl = s.length(); int tl = t.length(); char * ch = new char[sl]; if(sl != tl) return false; map<char,char>m; map<char,char>::iterator it; set<char> st; int i = 0; while(i < sl){ it = m.find(s[i]); if(it == m.end()){ m.insert(pair<char,char>(s[i],t[i])); if(st.find(t[i]) != st.end()) return false; else st.insert(t[i]); } i++; } i = 0; while(i < sl){ it = m.find(s[i]); ch[i] = it->second; i++; } string k(ch); return k == t; } };
另一种更快的方法
class Solution { public: bool isIsomorphic(string s, string t) { int sTotTable[256]; int tTosTable[256]; int size = s.length(); for (int i = 0; i < 256; i++){ sTotTable[i] = 300; tTosTable[i] = 300; } for (int i = 0; i < size; i++){ if (sTotTable[s[i]] == 300){ if (tTosTable[t[i]] == 300){ sTotTable[s[i]] = t[i]; tTosTable[t[i]] = s[i]; } else{ return false; } } else{ if (sTotTable[s[i]] != t[i]){ return false; } } } return true; } };
相关文章推荐
- LeetCode_Isomorphic Strings
- [leetcode] Isomorphic Strings
- LeetCode Isomorphic Strings
- LeetCode(205)Isomorphic Strings
- Leetcode 205 Isomorphic Strings 字符串处理
- leetcode 205. Isomorphic Strings(哈希表)
- LeetCode LeetCode 205. Isomorphic Strings(同形词)
- LeetCode - Isomorphic Strings
- 【leetcode】Isomorphic Strings
- [LeetCode]Isomorphic Strings
- leetcode 205: Isomorphic Strings
- LeetCode - Isomorphic Strings
- LeetCode 205 Isomorphic Strings
- LeetCode-Isomorphic Strings:判断两个字符串是否同构(hashtable实现)
- LeetCode:Isomorphic Strings
- LeetCode(205)Isomorphic Strings
- Leetcode205: Isomorphic Strings
- Leetcode Isomorphic Strings
- leetcode 205 Isomorphic Strings
- LeetCode中的Isomorphic Strings 的java实现