字符串同构
Posted julie_yang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串同构相关的知识,希望对你有一定的参考价值。
*****************************************
题目 判断s和t是不是一种模式,eg add cpp是同构
*****************************************
思路:用hash表,将s、t中所有出现过的字符 对应到1-26,比较对应的数字是否相同
class Solution { public: bool isIsomorphic(string s, string t) { if(s.length()!= t.length()) { return false; } map<char ,int>mapchar; map<char ,int>mapchar1; for(int i=0;i<s.length();i++) { if(mapchar.find(s[i]) == mapchar.end()) { if(mapchar1.find(t[i]) != mapchar1.end()) { return false; } mapchar.insert(pair<char,int>(s[i],i)); mapchar1.insert(pair<char,int>(t[i],i)); } else { if(mapchar1.find(t[i]) == mapchar1.end()) return false; if(mapchar1[t[i]] != mapchar[s[i]]) { return false; } } } return true; } };
以上是关于字符串同构的主要内容,如果未能解决你的问题,请参考以下文章