开始刷leetcode day1:Isomorphic Strings
2015-05-02 12:08
288 查看
题目:
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
return true.
Given
return false.
Given
return true.
Note:
You may assume both s and t have the same length.
Java version
public class Solution {
public boolean isIsomorphic(String s, String t) {
HashMap<Character, Character> hashmap = new HashMap<Character,Character>();
HashMap<Character, Character> hashmap2 = new HashMap<Character,Character>();
char[] slist = s.toCharArray();
char[] tlist = t.toCharArray();
for(int i = 0; i< s.length(); i++)
{
if(hashmap.get(slist[i]) == null)
{
if(hashmap2.get(tlist[i]) != null)
return false;
hashmap.put(slist[i],tlist[i]);
hashmap2.put(tlist[i],slist[i]);
}
else if(hashmap.get(slist[i]) != tlist[i])
{
return false;
}else
{
//doing nothing when equals
}
}
return true;
}
}
笨办法,有待改进, 需要注意情况ab aa应该返回false,所以需要第二个hashmap,用来反向检查
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.
Note:
You may assume both s and t have the same length.
Java version
public class Solution {
public boolean isIsomorphic(String s, String t) {
HashMap<Character, Character> hashmap = new HashMap<Character,Character>();
HashMap<Character, Character> hashmap2 = new HashMap<Character,Character>();
char[] slist = s.toCharArray();
char[] tlist = t.toCharArray();
for(int i = 0; i< s.length(); i++)
{
if(hashmap.get(slist[i]) == null)
{
if(hashmap2.get(tlist[i]) != null)
return false;
hashmap.put(slist[i],tlist[i]);
hashmap2.put(tlist[i],slist[i]);
}
else if(hashmap.get(slist[i]) != tlist[i])
{
return false;
}else
{
//doing nothing when equals
}
}
return true;
}
}
笨办法,有待改进, 需要注意情况ab aa应该返回false,所以需要第二个hashmap,用来反向检查
相关文章推荐
- 【leetcode】Isomorphic Strings
- (easy)LeetCode 205.Isomorphic Strings (*)
- LeetCode Isomorphic Strings
- 【Leetcode】【Easy】Isomorphic Strings
- Leetcode 205 Isomorphic Strings
- 【Leetcode】Isomorphic Strings
- leetcode: Isomorphic Strings
- 【LeetCode】Isomorphic Strings 解题报告
- [Leetcode]Isomorphic Strings
- LeetCode:Isomorphic Strings
- leetcode word pattern 以及 Isomorphic Strings --- 注意简便写法
- LeetCode-E-Isomorphic Strings
- LeetCode205 Isomorphic Strings
- [leetcode]Isomorphic Strings
- leetcode 205. Isomorphic Strings(哈希表)
- Leetcode Isomorphic Strings
- LeetCode(44)- Isomorphic Strings
- leetcode:Isomorphic Strings
- [LeetCode]Isomorphic Strings
- leetcode: (205) Isomorphic Strings