Responsive Ads Here

Friday, 19 May 2017

isomorphic strings(geeksforgeeks)

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;
}

No comments:

Post a Comment