博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
205. Isomorphic Strings - Easy
阅读量:6837 次
发布时间:2019-06-26

本文共 1235 字,大约阅读时间需要 4 分钟。

Given two strings s and t, determine if they are isomorphic.

Two strings are isomorphic if the characters in s can be replaced to get t.

All occurrences of a character must be replaced with another character while preserving the order of characters. No two characters may map to the same character but a character may map to itself.

Example 1:

Input: s = "egg", t = "add"Output: true

Example 2:

Input: s = "foo", t = "bar"Output: false

Example 3:

Input: s = "paper", t = "title"Output: true

Note:

You may assume both and have the same length.

 

用hashmap,key是s[i],value是t[i]

注意:如果map中已经存在s[i]这个key,不能再更新其value;由于一个value也只能对应一个key,如果map中已经存在s[i]对应的value,则无法添加新的映射到value的key

时间:O(N),空间:O(N)

class Solution {    public boolean isIsomorphic(String s, String t) {        HashMap
map = new HashMap<>(); for(int i = 0; i < s.length(); i++) { if(map.containsKey(s.charAt(i)) && map.get(s.charAt(i)) == t.charAt(i)) continue; else if(!map.containsValue(t.charAt(i)) && !map.containsKey(s.charAt(i))) map.put(s.charAt(i), t.charAt(i)); else return false; } return true; }}

 

转载于:https://www.cnblogs.com/fatttcat/p/10059982.html

你可能感兴趣的文章
谨慎的沉默就是精明的回避
查看>>
音频采样位数问题
查看>>
Response.Clear() Response.ClearContent()和Response.ClearHeaders()之间的区别
查看>>
数字签名、数字证书、对称加密算法、非对称加密算法、单向加密(散列算法)...
查看>>
linux zip
查看>>
一个简单的统计图像主颜色的算法(C#源代码)
查看>>
《你不可不知的50个地球知识》之未来进化
查看>>
动态代理的工作原理图
查看>>
【计算几何】点在多边形内部
查看>>
iOS利用代理实现界面跳转
查看>>
(二十一)状态模式详解(DOTA版)
查看>>
MySQL累积求和
查看>>
第五周 Word注释与交叉引用
查看>>
BIND9源码分析之 多个view的情况下如何做dynamic update
查看>>
openssl 证书操作
查看>>
精简版StringBuilder,提速字符串拼接
查看>>
位运算
查看>>
HDU 4708 Rotation Lock Puzzle(模拟)
查看>>
Chapter 6 -- Caches
查看>>
wpf/Silverlight/wp中如何绑定模板中的属性
查看>>