public static boolean isomorphicStrings(String a, String b) {
		int[] ma=new int[256], mb=new int[256];
		Arrays.fill(ma, -1); Arrays.fill(mb, -1);
		for (int i=0;i<a.length();++i) {
			char ca=a.charAt(i), cb=b.charAt(i);
			if (ma[ca]==-1||mb[cb]==-1) {
				if (ma[ca]==-1&&mb[cb]==-1) {
					ma[ca]=cb; mb[cb]=ca;
				} else return false;
			} else if (ma[ca]!=cb||mb[cb]!=ca) return false;
		}
		return true;
	}