题目链接点击打开链接
这个题我一开始以为只有26个字母。所以代码写出了这个
public class Solution { private static boolean flag[]=new boolean[26]; private static char map[]=new char[26]; public boolean isIsomorphic(String s, String t) { for(int i=0;i<s.length();i++) { if(map[s.charAt(i)-'a']=='\u0000') { if(flag[t.charAt(i)-'a']==true) { return false; } else { flag[t.charAt(i)-'a']=true; map[s.charAt(i)-'a']=t.charAt(i); continue; } } if(map[s.charAt(i)-'a']!=t.charAt(i)) { return false; } } return true; } }
import java.util.Hashtable; public class Solution { private Hashtable<Character, Character> map=new Hashtable<Character, Character>(); public boolean isIsomorphic(String s, String t) { for(int i=0;i<s.length();i++) { Character mapValue=map.get(s.charAt(i)); if(mapValue==null) { if(map.contains(t.charAt(i))) { return false; } else { map.put(s.charAt(i), t.charAt(i)); continue; } } if(mapValue!=t.charAt(i)) { return false; } } return true; } }