205. Isomorphic Strings

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution {
public boolean isIsomorphic(String s, String t) {
Map<Character, Character> fromToMap = new HashMap<>();
Map<Character, Character> toFromMap = new HashMap<>();
for (int i = 0; i < s.length(); i++) {
char from = s.charAt(i), to = t.charAt(i);
Character exceptedTo = fromToMap.get(from);
if (exceptedTo != null && exceptedTo != to) {
return false;
}
Character exceptedFrom = toFromMap.get(to);
if (exceptedFrom != null && exceptedFrom != from) {
return false;
}
fromToMap.put(from, to);
toFromMap.put(to, from);
}

return true;
}
}

References

205. Isomorphic Strings