同構字串 leetcode 205
題目大意:給定兩個字串,判斷是否為同構的字串,字元間的對應關係一樣,例如 paper 於 title
解題思路:使用兩個hashmap分別做對映,當新字元在兩個map中出現了key但是value不是對應的那個字元的話,就返回false,否則返回true
class Solution {
public boolean isIsomorphic(String s, String t) {
Map<Character, Character> sh = new HashMap<>(), th = new HashMap<>();
for (int i = 0; i < s.length(); i++) {
char sc = s.charAt(i), tc = t.charAt(i);
if (sh.containsKey(sc) && tc != sh.get(sc) ||
th.containsKey(tc) && sc != th.get(tc)) {
return false;
} else {
sh.put(sc, tc);
th.put(tc, sc);
}
}
return true;
}
}