isIsomorphic

来源:互联网 发布:淘宝网法院拍卖确认书 编辑:程序博客网 时间:2024/06/13 03:58
#include<iostream>
#include<string>
#include<map>
#include<set>
using std::set;
using std::map;
using std::string;
bool isIsomorphic(string s, string t) {
if(s.size()!=t.size()||s.size()<0||t.size()<0)
return false;
map<char,char>map_s;
set<char>set_t;
string::const_iterator sit=s.cbegin();
string::const_iterator tit=t.cbegin();
for(;sit!=s.cend();sit++,tit++){
auto result=map_s.find(*sit);
if(result==map_s.cend()){
map_s[*sit]=*tit;
set_t.insert(*tit);
}
else if(result->second!=*tit)
return false;
}
if(map_s.size()!=set_t.size())
return false;
else
return true;
}

0 0
原创粉丝点击