题目链接:https://leetcode-cn.com/problems/isomorphic-strings/

题目描述

给定两个字符串 s 和 t,判断它们是否是同构的。

如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。

所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。

测试样例

示例 1:

输入: s = "egg", t = "add"
输出: true
示例 2:

输入: s = "foo", t = "bar"
输出: false
示例 3:

输入: s = "paper", t = "title"
输出: true
说明:
你可以假设 s 和 t 具有相同的长度。

题解

两个字符串需要两两对应,因此可用两个Map实现双射。

记得之前做过一个利用双Map的题:【LeetCode】290. 单词规律 【哈希】

代码

class Solution {public boolean isIsomorphic(String s, String t) {if (s.length() != t.length())return false;Map<Character, Character> s2t = new HashMap<Character, Character>();Map<Character, Character> t2s = new HashMap<Character, Character>();int len = s.length();for (int i = 0; i < len; i++){char si = s.charAt(i), ti = t.charAt(i);if ((s2t.containsKey(si) && s2t.get(si) != ti) || (t2s.containsKey(ti) && t2s.get(ti) != si))return false;s2t.put(si, ti);t2s.put(ti, si);}return true;}
}

【LeetCode】205. 同构字符串 【Map 双射】相关推荐

  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. 同构字符串

    题目 思路 维护两个 HashMap,一个存放字符串 1 到字符串 2 的映射,另一个存放字符串 2 到字符串 1 的映射. 对于字符串中的每一个字符,分别验证是否符合这两个映射. 题解 import ...

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

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

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

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

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

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

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

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

  9. 数梦工场的笔试编程1——同构字符串判断

    abb和egg title和paper是同构字符串,foo和bar就不是同构字符串 什么是同构字符串? 两个个字符串的每个字母都匹配同一个映射关系,比如egg -> add的映射关系就是:e-& ...

最新文章

  1. Puppet SaltStack Chef Ansible
  2. CCIE理论-第九篇-IPV6详细介绍
  3. Node.js进程管理之Process模块
  4. Kafka(三)-- Kafka主要参数
  5. 信息学奥赛一本通(1315:【例4.5】集合的划分)
  6. script标签的加载解析执行
  7. HDU1370 Biorhythms【中国剩余定理】
  8. 最长单调递增子序列及思维题——动态规划
  9. Java 7:最新特性更新、代码示例及性能测试
  10. 单表查询之选择查询 + 多表查询(2020.3.20 )
  11. 快速突破面试算法之哈希表篇
  12. ubuntu的一些技巧
  13. CodeForces 584 D.Dima and Lisa(数论)
  14. 因果分析.科学实验评估
  15. 如何显示隐藏的 Chrome 扩展程序图标
  16. mysql skip_counter_mysql sql_salve_skip_counter
  17. 【上传】Nginx 上传文件
  18. 【Nginx 源码学习】Nginx 的缓冲区
  19. Linux 内存的延迟分配
  20. CFA【异常检测:Embedding_based】

热门文章

  1. 华硕无畏Pro14和 联想小新pro14参数对比 哪个好
  2. oracle必须运行netca,【监听配置】Oracle如何静默运行NETCA,使用netca.rsp文件
  3. 项目总结——新闻编辑器
  4. 日本知名汽车零部件公司巡礼系列之株式会社123
  5. 阿里云服务操作指南-个人购买版
  6. 用Java解决:三天打鱼两天晒网问题
  7. windows10系统的DPI设置的那些事
  8. 书慧淘宝SEO学习记录
  9. c51语言开发工具,KEIL C51 开发工具
  10. 项目经理跨部门沟通,如何避免踢皮球?