题目

思路

维护两个 HashMap,一个存放字符串 1 到字符串 2 的映射,另一个存放字符串 2 到字符串 1 的映射。
对于字符串中的每一个字符,分别验证是否符合这两个映射。

题解

import java.util.HashMap;class Solution {/*** 验证两个字符串中,相同字母出现的位置是否相同* 维护两个 HashMap,一个存放字符串 1 到字符串 2 的映射,另一个存放字符串 2 到字符串 1 的映射* 对于每一个字符,分别验证这两个映射*/public boolean isIsomorphic(String s, String t) {if (s == null || t == null || s.length() != t.length()) return false;HashMap<Character, Character> hashMapS2T = new HashMap();HashMap<Character, Character> hashMapT2S = new HashMap();char[] ss = s.toCharArray();char[] tt = t.toCharArray();for (int i = 0; i < ss.length; i++) {if (hashMapS2T.containsKey(ss[i])) {if (tt[i] != hashMapS2T.get(ss[i]))return false;} else {hashMapS2T.put(ss[i], tt[i]);}if (hashMapT2S.containsKey(tt[i])) {if (ss[i] != hashMapT2S.get(tt[i]))return false;} else {hashMapT2S.put(tt[i], ss[i]);}}return true;}
}

评论区的一些奇特解法

for (let i = 0; i < s.length; i++) {if (s.indexOf(s[i]) !== t.indexOf(t[i])) return false;
}
return true;

leetcode 205. 同构字符串相关推荐

  1. leetcode 205.同构字符串

    leetcode 205.同构字符串 题目描述 给定两个字符串 s 和 t,判断它们是否是同构的. 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的. 所有出现的字符都必须用另一个字符 ...

  2. LeetCode 205. 同构字符串(哈希map)

    1. 题目 给定两个字符串 s 和 t,判断它们是否是同构的. 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的. 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序. 两个字符 ...

  3. leetcode 205. 同构字符串(hash)

    给定两个字符串 s 和 t,判断它们是否是同构的. 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的. 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序.两个字符不能映射到同一 ...

  4. Leetcode 205. 同构字符串 解题思路及C++实现

    解题思路: 仔细阅读题意,应注意到一个 hash表是不够的,需要新建两个hash表,分别存储 s->t 和 t->s 的映射. class Solution { public:bool i ...

  5. 2022-1-19 Leetcode.205.同构字符串

    自己的写法,使用双向映射. /*class Solution { public:bool isIsomorphic(string s, string t) {if(s.size() != t.size ...

  6. 【LeetCode】205. 同构字符串 【Map 双射】

    题目链接:https://leetcode-cn.com/problems/isomorphic-strings/ 题目描述 给定两个字符串 s 和 t,判断它们是否是同构的. 如果 s 中的字符可以 ...

  7. LeetCode:205(Python)—— 同构字符串(简单)

    同构字符串 概述:给定两个字符串 s 和 t ,判断它们是否是同构的.如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的.每个出现的字符都应当映射到另一个字符,同时不改变字符 ...

  8. LeetCode简单题之同构字符串

    题目 给定两个字符串 s 和 t ,判断它们是否是同构的. 如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的. 每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序. ...

  9. LeetCode实战:字符串相乘

    题目英文 Given two non-negative integers num1 and num2 represented as strings, return the product of num ...

最新文章

  1. 想法2: 充电性冰袋
  2. 威胁预警|多个挖矿僵尸网络开始使用ThinkPHP v5漏洞 威胁升级
  3. mongodb type it for more
  4. 运维利器1-supervisor
  5. tensorflow 模型预训练后的参数restore finetuning
  6. Matlab-绘制日期图
  7. 怎么使用 JavaScript 将网站后台(后端)的数据变化(图片)实时更新到前端?
  8. 产品经理与交互设计师的区别是什么?
  9. 玩转oracle 11g(9):crud操作(亲测)
  10. 10个高效Linux技巧及Vim命令对比
  11. activity 生命周期_Activity 源码解析
  12. 无需私钥的pssh的安装使用
  13. 光学软件市场现状研究分析报告-
  14. 更改Windows的鼠标滚动方式为Mac方式(win鼠标滚轮反向)
  15. matlab 跳步,给定两个大整数u和v,它们分别有m和n位数字,且m≤n.用通常的乘法求uv的值需要O(mn)时间.可以将u和v.. - 上学吧找答案(手机版)...
  16. 海康摄像机RTSP连接Opencv读取视频
  17. 2018CCPC吉林赛区 hdu6555~hdu6566
  18. javawe(ckeditorsmartupload)
  19. 【图解算法面试】记一次面试:说说游戏中的敏感词过滤是如何实现的?
  20. 如何使用MATLAB将两张或者多张figure图形合并到一个figure图形里进行对比

热门文章

  1. HDU - 1847 Good Luck in CET-4 Everybody!(sg函数,水题)
  2. FZU - 2202 犯罪嫌疑人(逻辑思维+简单模拟)
  3. UVA211 TheDomino Effect 多米诺效应
  4. HDU3966(树链剖分)
  5. (四)boost库之正则表达式regex
  6. ADO学习(九)如何阅读ADO文档
  7. Redis 特殊数据类型 :Geospatial、Hyperloglog、Bitmap
  8. 浅谈tcp的三次握手和四次挥手的理解
  9. 经典|Linux:为什么性能工具需要 BPF 技术(送多本)
  10. 最棒 Spring Boot 干货总结