public static boolean isGrayCode(String s1, String s2) {
		int m=s1.length(), n=s2.length();
		if (m!=n)return false;
		int first=-1,c=0;
		for (int i=0;i<m;++i) {
			if (s1.charAt(i)!=s2.charAt(i)) {
				if (++c>2) return false;
				if (first==-1) first=i;
				else if (i!=first+1) return false;
			}
		}
		return true;
	}