LinkSearchMenuExpandDocument

205. Isomorphic Strings

Solution Code

C#

publicclassSolution{publicboolIsIsomorphic(strings,stringt){intlen=s.Length;boolisIso=true;int[]mapping=newint[130];int[]mappedTo=newint[130];for(inti=0;i<len;i++){if(mapping[s[i]]>0){intval=mapping[s[i]];if((int)t[i]!=val){isIso=false;break;}}else{if(mappedTo[t[i]]>0){isIso=false;break;}mapping[s[i]]=t[i];mappedTo[t[i]]=s[i];}}returnisIso;}}

C++

classSolution{public:boolisIsomorphic(strings,stringt){intlen=s.size();boolisIso=true;unordered_map<char,char>mapping;unordered_map<char,char>mappedTo;for(inti=0;i<len;i++){if(mapping.count(s[i])){charch=mapping[s[i]];if(t[i]!=ch){isIso=false;break;}}else{if(mappedTo.count(t[i])){isIso=false;break;}mapping[s[i]]=t[i];mappedTo[t[i]]=s[i];}}returnisIso;}};

Java

classSolution{publicbooleanisIsomorphic(Strings,Stringt){intlen=s.length();booleanisIso=true;int[]mapping=newint[130];int[]mappedTo=newint[130];for(inti=0;i<len;i++){if(mapping[s.codePointAt(i)]>0){intval=mapping[s.codePointAt(i)];if(t.codePointAt(i)!=val){isIso=false;break;}}else{if(mappedTo[t.codePointAt(i)]>0){isIso=false;break;}mapping[s.codePointAt(i)]=t.codePointAt(i);mappedTo[t.codePointAt(i)]=s.codePointAt(i);}}returnisIso;}}

© 2023. All rights reserved.

close