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.
public class Solution { public boolean isIsomorphic(String s, String t) { if(s == null || t == null){ return false; } else if(s.length() != t.length()){ return false; } HashMap<Character, Character> table=new HashMap<Character, Character>(); int len=s.length(); for(int i=0; i<len; i++){ Character sc=s.charAt(i); Character tc=t.charAt(i); if(table.containsKey(sc)){ if(table.get(sc) != tc){ return false; } } else{ //table.put(sc, tc); if(table.containsValue(tc)){ return false; } else{ table.put(sc,tc); } } } return true; } }
时间: 2024-12-14 13:07:35