[leetcode]Isomorphic Strings
来源:互联网 发布:前海金融管理学院 知乎 编辑:程序博客网 时间:2024/05/29 18:51
题目描述如下:
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.
For example,
Given “egg”, “add”, return true.
Given “foo”, “bar”, return false.
Given “paper”, “title”, return true.
题目真的不难,然而po主一开始用了数组去代替map然后在各种边界上出bug啊(感觉还是因为初始值的限制,加上昨天晚上实在是太困了所以脑子回路有点问题WA了很多遍),后来乖乖选择了用map进行记录,然后想偷懒不用两次映射结果最后反而TLE了。没办法,最后还是用了双向映射,代码如下:
public class Solution { public boolean isIsomorphic(String s, String t) { if (s.length() == 1) { return s.equals(t); } Map<Character, Character> isomorphicMap = new HashMap<Character, Character>(); char s_mapKey, t_mapKey; for (int i = 0; i < s.length(); i++) { s_mapKey = s.charAt(i); t_mapKey = t.charAt(i); if (isomorphicMap.containsKey(s_mapKey)) { if (!(isomorphicMap.get(s_mapKey).equals(t_mapKey))) return false; } else { isomorphicMap.put(s_mapKey, t_mapKey); } } isomorphicMap.clear(); for (int i = 0; i < s.length(); i++) { s_mapKey = s.charAt(i); t_mapKey = t.charAt(i); if (isomorphicMap.containsKey(t_mapKey)) { if (!(isomorphicMap.get(t_mapKey).equals(s_mapKey))) return false; } else { isomorphicMap.put(t_mapKey, s_mapKey); } } return true; }}
题目链接:https://leetcode.com/problems/isomorphic-strings/
0 0
- LeetCode 205 - Isomorphic Strings
- [LeetCode] Isomorphic Strings
- Isomorphic Strings Leetcode JAVA
- [LeetCode] Isomorphic Strings
- [LeetCode 205]Isomorphic Strings
- LeetCode 205-Isomorphic Strings
- leetcode Isomorphic Strings
- leetcode(c++) Isomorphic Strings
- leetcode--Isomorphic Strings
- [LeetCode]Isomorphic Strings
- LeetCode OJ Isomorphic Strings
- leetcode 205: Isomorphic Strings
- leetcode 205 Isomorphic Strings
- [leetcode] Isomorphic Strings
- 【leetcode】Isomorphic Strings
- [leetcode]Isomorphic Strings
- [LeetCode]Isomorphic Strings
- leetcode--Isomorphic Strings
- Android Providing Resources
- Java lucene小讲解
- XMPP客户端库Smack 4.0.6版开发之六
- 史上最全设计模式导学目录(完整版)
- JS中各种奇葩的匿名函数写法
- [leetcode]Isomorphic Strings
- 下拉刷新和UITableView的sectionHeaderView冲突的问题
- openwebrtc 服务端和android客户端demo安装,openwebrtcandroid
- javaSE(23)(反射)
- android 应用程序的组成部分
- gdb调试工具
- UI设计
- MFC 遇到的问题
- 合成析构函数和析构函数