本文主要是介绍【CSDN Daily Practice】【哈希】同构字符串,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【CSDN Daily Practice】【哈希】同构字符串
思路:
- 使用hash存储
key
-value
值- 如果
key
存在,value
不等则结果false
;- 如果
key
不存在,value
关联了其他key
,结果false
- 所有元素扫完,结果则
true
- Java实现
class Solution {public boolean isIsomorphic(String s, String t) {if (s.length() != t.length()) {return false;}Map<Character, Character> somorphicMap = new HashMap<>();for (int i = 0; i < s.length(); i++) {char key = s.charAt(i);char value = t.charAt(i);if (somorphicMap.get(key) != null) {// 存在key 但是value值不同if (somorphicMap.get(key) != value) {return false;}} else {// 不存在当前key,但是value与其他key绑定了if (somorphicMap.containsValue(value)) {return false;}somorphicMap.put(s.charAt(i), t.charAt(i));}}return true;}
}
这篇关于【CSDN Daily Practice】【哈希】同构字符串的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!