同构字符串
public boolean isIsomorphic1(String s, String t) {
if(s.length() != t.length()) return false;
char[] chS = s.toCharArray();
char[] chT = t.toCharArray();
int[] mapS = new int[128];
int[] mapT = new int[128];
int len = chS.length;
for(int i = 0; i < len; i++) {
//如果当前位置的字符上一次出现索引不同
if(mapS[chS[i]] != mapT[chT[i]]) {
return false;
}
//纪录字符这次出现的索引
mapS[chS[i]] = i + 1;
mapT[chT[i]] = i + 1;
}
return true;
}一般的题目都是用int[] map纪录字符串的出现次数,这题纪录字符上一次出现的索引。从而达到纪录结构的目的。
本文介绍了一种用于判断两个字符串是否为同构的有效算法。该算法通过记录字符上一次出现的位置来比较两个字符串的结构是否一致,适用于解决常见的字符串同构问题。
1415

被折叠的 条评论
为什么被折叠?



