[leetcode]205. Isomorphic Strings同构字符串
2024-10-20 19:01:55
哈希表可以用ASCII码数组来实现,可以更快
public boolean isIsomorphic(String s, String t) {
/*
思路是记录下每个字符出现的位置,当有重复时,检查另外一个map是不是也是对应位置重复
*/
if (s.length()!=t.length())
{
return false;
} Map<Character,Integer> map1 = new HashMap<>();
Map<Character,Integer> map2 = new HashMap<>();
for (int i = 0; i < s.length(); i++) {
char c1 = s.charAt(i);
char c2 = t.charAt(i);
//有重复的情况
if (map1.containsKey(c1))
{
//注意这里有个小插曲,就是map得到的包装类,所有包装类比较值 相等要用equals()方法,不能用==,这个字符串是一样的
if ((!map2.containsKey(c2))||(!Objects.equals(map2.get(c2), map1.get(c1))))
{
return false;
}
else
{
map1.put(c1,i);
map2.put(c2,i);
}
}
//没有重复的情况
else
{
if (map2.containsKey(c2))
{
return false;
}
map1.put(c1,i);
map2.put(c2,i);
}
}
return true;
}
最新文章
- Java内存管理及GC算法
- Winform开发框架之参数配置管理功能实现-基于SettingsProvider.net的构建
- CSS行内元素和块级元素的居中
- cf 363A B C
- algorithm@ O(3/2 n) time to findmaximum and minimum in a array
- 用python实现k近邻算法
- 互联网金融爬虫怎么写-第三课 雪球网股票爬虫(ajax分析)
- String+,StringBuilder,String.format运行效率比较
- 字符集详解 ------------------------ UNICODE +UTF8
- Kerberos-KDC
- Centos中如何配置Texlive2013中文字体的问题
- linux切换g++
- Django_xadmin_应用外键搜索功能错误
- python批量解析域名a记录
- FastReport快速入门
- c# 之Web.config
- jsp有哪些内置对象作用分别是什么 分别有什么方法?
- rest_framework 之版本控制
- 什么是SAP GUI的client
- JAVA中3种将byte转换为String的方法
热门文章
- E: Package xxx has no installation candidate成功解决
- PyQt学习随笔:Model/View架构中的Delegate(委托)
- PyQt(Python+Qt)学习随笔:Designer中QDialogButtonBox确认clicked信号是哪个按钮发送的方法
- PyQt(Python+Qt)学习随笔:PyQt帮助文档导入assistant后离线查阅
- buu学习记录(下)(做题是不可能做题的)
- python 练习洗牌
- JVM 垃圾回收?全面详细安排!
- pandas 删除列
- spring框架半自动注解
- Notepad++ 使用步骤,熟练掌握notepad++的使用技巧,无疑会大大提升专业技能。以及快捷键操作