您的位置:首页 > 编程语言 > Java开发

(java) Isomorphic Strings

2015-12-17 22:15 501 查看
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.

思路:将匹配规则记录在一个map中,如果这个规则map中没有,则将这个规则加入到这个map中,逐步建立一个字典,如果有,按照字典中的匹配规格匹配,看匹配到的和想要的是否相同就可。

代码如下(已通过leetcode)

public class Solution {

public boolean isIsomorphic(String s, String t) {

Map map = new HashMap();

for (int i = 0; i < s.length(); i++) {

if (map.get(s.charAt(i)) == null) {

if(map.containsValue(t.charAt(i))) return false;

else map.put(s.charAt(i), t.charAt(i));

} else {

if((char)map.get(s.charAt(i))!=t.charAt(i)) return false;

}

}

return true;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: