LeetCode205:同构字符串(字符串-Map集合,查找表)
1、给定两个字符串 s 和 t,判断它们是否是同构的。
2、如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。
方法一:同构字符串的性质:
同构字符串中,同一个位置的字符在本串中第一次出现的位置相同。
不同构的情况:我们假设拿s串和t串作对比
1.s串中相同的字符,对应的t串中的字符并不相等
2.s串中不同的字符,对应的t串中的字符却是相等的
那么相同字符中处于后位置的字符的第一次出现的位置就应该相同,所以在判断时,只需要判断两个字符串同位置的字符是否相同即可。
/**
* 给定两个字符串 s 和 t,判断它们是否是同构的。
* 字符串同构的性质:同一个位置的字符在本串中第一次出现的位置相同。
* @param s
* @param t
* @return
*/
public boolean isIsomorphic(String s, String t) {
if(s.length() != t.length()){
return false;
}
//将字符串转化为字符数组
char[] sArrays = s.