您的位置:首页 > 其它

leetcode 205. Isomorphic Strings 巧妙使用hashmap.put返回值求解

2016-05-10 22:22 369 查看
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.
题意简述:判断两个字符串是否类似,简而言之就是模式是否匹配。
注意:有个神器map.put(key,value) 返回值: 如果之前的key不存在 return null 如果key存在,返回之前的value。是时候去看看jdk容器源码实现了。

写了这么多put竟然不知道put还有这等返回值,果然弱爆了
刷leetcode不看discuss简直等于耍流氓
上源代码:
public boolean isIsomorphic(String s, String t) {
int len1=s.length();
int len2=t.length();
if(len1!=len2) return false;
Map map1=new HashMap();
Map map2=new HashMap();
for(Integer i=0;i<len1;i++)
{
if(map1.put(s.charAt(i),i)!=map2.put(t.charAt(i),i))
return false;
}

return true;
}

不要问我这里的循环变量i为什么不是int,而是Integer 我也不知道 int通不过 integer可以通过
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode map