适合做网站开发的电脑配置,橙色 网站,关方网站买微信,东莞展馆设计公司题目#xff1a;
给定两个字符串 s 和 t #xff0c;判断它们是否是同构的。
如果 s 中的字符可以按某种映射关系替换得到 t #xff0c;那么这两个字符串是同构的。
每个出现的字符都应当映射到另一个字符#xff0c;同时不改变字符的顺序。不同字符不能映射到同一个字…题目
给定两个字符串 s 和 t 判断它们是否是同构的。
如果 s 中的字符可以按某种映射关系替换得到 t 那么这两个字符串是同构的。
每个出现的字符都应当映射到另一个字符同时不改变字符的顺序。不同字符不能映射到同一个字符上相同字符只能映射到同一个字符上字符可以映射到自己本身。
思路
代码
class Solution {public boolean isIsomorphic(String s, String t) {MapCharacter, Character s2t new HashMap(), t2s new HashMap();for (int i 0; i s.length(); i) {char a s.charAt(i), b t.charAt(i);// 对于已有映射 a - s2t[a]若和当前字符映射 a - b 不匹配// 说明有一对多的映射关系则返回 false;// 对于映射 b - a 也同理if (s2t.containsKey(a) s2t.get(a) ! b || t2s.containsKey(b) t2s.get(b) ! a)return false;s2t.put(a, b);t2s.put(b, a);}return true;}
}
性能