205. Isomorphic Strings
1,题目要求
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.
判断两个单词是不是同构的——也即两个单词是否能通过直接的字符替代而变成对方的形式。
2,题目思路
一开始,想到用hash,但是涉及到字符与出现数量,又想到了构建一个map。后来感觉这样比较麻烦,有觉得可以构建一个字符出现次序字符串,按顺序统计每一个字符出现的数量,比如egg,出现数量统计就是:12,apple,就是:1211。
但其实这样做是不满足题设条件的。题目的意思是不仅是字符的临近次序要一样,更重要的是字符出现的总次序也要一样才行。
譬如:applpe 和 ellpcr,如果只按照临近顺序来看,它们是满足条件的,但其实他们是不满足的条件的。
只有像applpe 和 ellplcr这样的才是满足的。
因此,题目也是可以直接用hash来做的,因为字符可以隐式地转换成数字的形式。而根据ascii表,最大的字符对应数字为127,因此只需要创建一个长度为为128的向量数组即可。
3,程序源码
class Solution {
public:bool isIsomorphic(string s, string t) {vector<int> ss(128,-1), tt(128,-1);int len = s.size();for(int i=0;i<len;i++){if(ss[s[i]] != tt[t[i]])return false;ss[s[i]] = i;tt[t[i]] = i;}return true;}
};
205. Isomorphic Strings相关推荐
- 205 Isomorphic Strings
205 Isomorphic Strings 链接:https://leetcode.com/problems/isomorphic-strings/ 问题描述: Given two strings ...
- LeetCode 205 Isomorphic Strings(同构的字符串)(string、vector、map)(*)
翻译 给定两个字符串s和t,决定它们是否是同构的.假设s中的元素被替换能够得到t,那么称这两个字符串是同构的.在用一个字符串的元素替换还有一个字符串的元素的过程中.所有字符的顺序必须保留. 没有两个字 ...
- leetcode python3 简单题205. Isomorphic Strings
1.编辑器 我使用的是win10+vscode+leetcode+python3 环境配置参见我的博客: 链接 2.第二百零五题 (1)题目 英文: Given two strings s and t ...
- Easy-题目46:205. Isomorphic Strings
题目原文: Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the ...
- leetcode之Isomorphic strings
问题来源:Isomorphic strings 问题描述:给定两个字符串,判断它俩是否满足同构关系.同构关系表示两个字符串的字符能一一对应,例如title和paper构成同构关系,而foo和bar不构 ...
- hdu 6863 Isomorphic Strings
Isomorphic Strings 题解:暴力枚举n的所有因子,判断是否合法.判断合法第一步:判断每段中各字符出现次数是否相同,第二部:判断每段的最小表示是否相同.因子还可以减枝. #include ...
- CodeForces - 985F Isomorphic Strings
假如两个区间的26的字母出现的位置集合分别是 A1,B1,A2,B2,....., 我们再能找到一个排列p[] 使得 A[i] = B[p[i]] ,那么就可以成功映射了. 显然集合可以直接hash, ...
- [LeetCode] Isomorphic Strings - 字符串操作:数组计数字符个数问题
题目概述: Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the ...
- C#LeetCode刷题之#205-同构字符串(Isomorphic Strings)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3770 访问. 给定两个字符串 s 和 t,判断它们是否是同构的. ...
最新文章
- Microbiome:首个地球微生物“社会关系”网络在浙大绘制!
- iOS 开发 OC编程 字典和集合 排序方法
- 测试字符串读取类: TStringReader
- 【React、Vue 、 Angular 共分天下,2018首将会是谁?】
- 09_EGIT插件的安装,Eclipse中克隆(clone),commit,push,pull操作演示
- 比较常用的10个markdown标签
- 11 个重要的数据库设计规则
- Apache Ignite本机持久性,简要概述
- javaweb 学习资源
- 计算机技术在农机上的应用,计算机视觉技术在农机自动化上的应用与优势分析.pdf...
- 电脑连接virtualbox虚拟机的方法
- 在几何画板中如何制作圆柱的侧面展开动画_几何画板制作圆柱体的形成动画演示方法...
- 13 . 外部中断实验
- 在Windows10操作系统中任务栏的网络图标消失不见了该怎么办呢
- 什么是JavaBean、bean? 什么是POJO、PO、DTO、VO、BO ? 什么是EJB、EntityBean?
- JUC第六讲:ThreadLocal/InheritableThreadLocal详解/TTL-MDC日志上下文实践
- 基于同步坐标变换的谐波电流检测
- 与EEG信号的相关的基础知识以及运动想象信号的生理活动
- C++:实现量化GSR模型测试实例
- 算术优化算法AOA(学习笔记_10)
热门文章
- 【案例练习】13—41个网页设计效果的代码生成器工具
- 读理工科研究生的心态
- 计算机毕设凑不够字数,撰写毕业论文字数不够要怎样去增加?
- php和android和mysql_如何使用JSON连接Android和PHP Mysql数据库
- vscode Couldn‘t start client Rust Language Server
- 关于根号p是无理数的另类证明
- 智能车|直流电机、编码器与驱动器
- selenium自动化之PO模型
- 网络文件存储系统(三)fastdfs分布式文件系统实战
- linux升级gfortran版本,Ubuntu18.04使用配置及gfortran版本的切换