給定兩個字符串 s 和 t区赵,判斷它們是否是同構(gòu)的。
如果 s 中的字符可以按某種映射關(guān)系替換得到 t 辐啄,那么這兩個字符串是同構(gòu)的。
每個出現(xiàn)的字符都應(yīng)當(dāng)映射到另一個字符运嗜,同時不改變字符的順序壶辜。不同字符不能映射到同一個字符上,相同字符只能映射到同一個字符上担租,字符可以映射到自己本身砸民。
示例 1:
輸入:s = "egg", t = "add"
輸出:true
示例 2:
輸入:s = "foo", t = "bar"
輸出:false
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/isomorphic-strings
解題思路
技巧:觀察兩個字符串的相同索引的字符,它當(dāng)前的索引和它第一次出現(xiàn)時的索引是否相等
不相等則返回false
代碼
class Solution {
public boolean isIsomorphic(String s, String t) {
char[] c1 = s.toCharArray();
char[] c2 = t.toCharArray();
for (int i = 0; i < s.length(); i++) {
if (s.indexOf(c1[i]) != t.indexOf(c2[i])) {
return false;
}
}
return true;
}
}