problem id:--http://practice.geeksforgeeks.org/problems/isomorphic-strings/0
code:--
#include<iostream>
#include<unordered_map>
using namespace std;
void print(int n)
{
cout<<n<<'\n';
}
bool check_string(string str1,string str2)
{
bool flag=1;
unordered_map<char,char> mymap;
int i=0;
while(str1[i]!='\0')
{
if(mymap.find(str1[i])==mymap.end())
mymap.insert({str1[i],str2[i]});
else if(mymap[str1[i]]!=str2[i])
{
flag=0;
break;
}
++i;
}
return flag;
}
int main()
{
int t;
cin>>t;
while(t--)
{
string str1,str2;
cin>>str1>>str2;
if(str1.length()!=str2.length())
{
print(0);
continue;
}
cout<<(check_string(str1,str2) && check_string(str2,str1))<<'\n';
}
return 0;
}
code:--
#include<iostream>
#include<unordered_map>
using namespace std;
void print(int n)
{
cout<<n<<'\n';
}
bool check_string(string str1,string str2)
{
bool flag=1;
unordered_map<char,char> mymap;
int i=0;
while(str1[i]!='\0')
{
if(mymap.find(str1[i])==mymap.end())
mymap.insert({str1[i],str2[i]});
else if(mymap[str1[i]]!=str2[i])
{
flag=0;
break;
}
++i;
}
return flag;
}
int main()
{
int t;
cin>>t;
while(t--)
{
string str1,str2;
cin>>str1>>str2;
if(str1.length()!=str2.length())
{
print(0);
continue;
}
cout<<(check_string(str1,str2) && check_string(str2,str1))<<'\n';
}
return 0;
}
No comments:
Post a Comment