題目要求:判斷兩個字符串是否同構,例如:Given “egg” "add", return true;Given "foo" "bar",return false;
tags:hash table
思路:
1.判斷同構首先要判斷的是:在hash table中String1中的字母是不是對應String2中的字母
2.還需要判斷String2中的字母也只能對應一個String1中的字母。
public boolean isIsomorphic(String s, String t) {
HashMap<Character,Character> map = new HashMap<Character,Character>();
for(int i=0;i<s.length();i++){
char a = s.charAt(i);
char b = t.charAt(i);
if(map.containsKey(a)||map.containsValue(b)){
if(map.get(a)==null||map.get(a)!=b){
return false;
}
}else{
map.put(a, b);
}
}
return true;
}