LeetCode - Isomorphic Strings
题意很好理解,判断两个字符串的结构是否相同。测试数据里有?{}【】等符号啊,果断扩大到300.
public class Solution { public static boolean isIsomorphic(String s, String t) { if(isIsomorphicOne(s,t) && isIsomorphicOne(t,s)) { return true; } else { return false; } } public static boolean isIsomorphicOne(String s, String t) { if(s==null || t==null) { return false; } Letter[] letter = new Letter[300]; for(int i=0; i<300; i++) { letter[i] = new Letter((char)(i), -1, 0); } for(int i=0; i<s.length(); i++) { Letter sl = letter[s.charAt(i)]; if(sl.pos==-1) { sl.count ++; sl.pos = i; } else { int cur = sl.pos; if(t.charAt(i)!=t.charAt(cur)) { return false; } else { sl.count ++; sl.pos = i; } } } return true; } } class Letter { char ch; int pos; int count; public Letter(char ch, int pos, int count) { this.ch = ch; this.pos = pos; this.count = count; } }
作者:Pickle
声明:对于转载分享我是没有意见的,出于对博客园社区和作者的尊重一定要保留原文地址哈。
致读者:坚持写博客不容易,写高质量博客更难,我也在不断的学习和进步,希望和所有同路人一道用技术来改变生活。觉得有点用就点个赞哈。