Given strings s and t, determine if they are isomorphic.
The strings is isomorphic if the characters in s can is replaced to get t.
All occurrences of a character must is replaced with another character while preserving the order of characters. No, characters may map to the same character and a character may map to itself.
For example,
Given "egg"
, "add"
return True.
Given "foo"
, "bar"
return FALSE.
Given "paper"
, "title"
return True.
Problem Solving Ideas:
Save the map in two directions with two graphs, Java implementation is as follows:
public Boolean isisomorphic (string s, String t) {hashmap<character, character> HM = new Hashmap<character, Charac Ter> (); Hashmap<character, character> hm2 = new Hashmap<character, character> (); for (int i = 0; i < s.length (); i++ ) {if (Hm.containskey (S.charat (i)) && Hm.get (S.charat (i))! = T.charat (i)) return False;hm.put (S.charat (i), T.charat (i)), if (Hm2.containskey (T.charat (i) && hm2.get (T.charat (i))! = S.charat (i)) return False;hm2.put ( T.charat (i), S.charat (i)); return true; }
Java for Leetcode 205 isomorphic Strings