class Solution {
public boolean isIsomorphic(String s, String t) {
//-:创建两个HashMap(类型为char类型的包装类Character)
//-:之所以创建两个链表,是因为映射关系是双向的
HashMap<Character, Character> s2t = new HashMap<>();
HashMap<Character, Character> t2s = new HashMap<>();
//-:获取字符串长度(题中已经规定s和t两字符串长度必须一致)
Integer len = s.length();
Character x;
Character y;
//-:遍历字符串s和t
for(int i=0; i<len; i++){
//-:获取字符串中的第i个元素
x = s.charAt(i);
y = t.charAt(i);
//-:判断不符合“同构”
if(s2t.containsKey(x) && s2t.get(x)!=y || t2s.containsKey(y) && t2s.get(y)!=x){
return false;
}
//-:将键值对放入两个map中
s2t.put(x,y);
t2s.put(y,x);
}
return true;
}
}
同构字符串
于 2024-09-12 21:39:15 首次发布