/*
* 题中“No two characters may map to the same character but a character may map to itself.”
* 说明两个字符串对应位置的映射是一对一映射,而且对应位置的字符相同时也算一个映射
*/
class Solution {
public boolean isIsomorphic(String s, String t) {
if(s==null||t==null) return false;
Map<Character, Character> map = new HashMap<Character ,Character>();
Set<Character> set = new HashSet<Character>();
int size = s.length();
for(int i=0;i<size;++i){
char sc = s.charAt(i), tc = t.charAt(i);
if(map.containsKey(sc)){
Character tmp = map.get(sc);
if(tmp!=tc) return false;
}else{
if(set.contains(tc)){
return false;
}else{
map.put(sc, tc);
set.add(tc);
}
}
}
return true;
}
}
* 题中“No two characters may map to the same character but a character may map to itself.”
* 说明两个字符串对应位置的映射是一对一映射,而且对应位置的字符相同时也算一个映射
*/
class Solution {
public boolean isIsomorphic(String s, String t) {
if(s==null||t==null) return false;
Map<Character, Character> map = new HashMap<Character ,Character>();
Set<Character> set = new HashSet<Character>();
int size = s.length();
for(int i=0;i<size;++i){
char sc = s.charAt(i), tc = t.charAt(i);
if(map.containsKey(sc)){
Character tmp = map.get(sc);
if(tmp!=tc) return false;
}else{
if(set.contains(tc)){
return false;
}else{
map.put(sc, tc);
set.add(tc);
}
}
}
return true;
}
}