205. Isomorphic Strings
题目描述: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.题目大意:判断两个字符串是不是相同模式的字符串
思路:记录两个字符串中的每个字符的出现位置,然后判断两个字符串相同位置的字符的出现位置是否相同
代码
package HashTable; import java.util.HashMap; import java.util.Map; /** * @author OovEver * 2018/1/9 23:25 */ public class LeetCode205 { public static boolean isIsomorphic(String s, String t) { int[] m1 = new int[256]; int[] m2 = new int[256]; for(int i=0;i<s.length();i++) { // 判断字符出现位置 if(m1[s.charAt(i)]!=m2[t.charAt(i)]) return false; m1[s.charAt(i)] = i + 1; m2[t.charAt(i)] = i + 1; } return true; } }