只需要列举出四位的格雷码就能发现规律; import java.util.*; public class GrayCode { public String[] getGray(int n) { String[] s = new String[(int) Math.pow(2,n)]; s[0] = "0"; s[1] = "1"; if (n == 1) { return s; } List<String> shun = new ArrayList<String>(); shun.add(s[0]); shun.add(s[1]); for (int i = 2; i <= n; i++) { int mianJi = (int) Math.pow(2,i-1); for (int j = 0; j < mianJi; j++) { String string = "0" + shun.get(j); String stringTwo = "1" + shun.get(j); shun.set(j,string); shun.add(mianJi,stringTwo); } } for (int k = 0; k < shun.size(); k++) { s[k] = shun.get(k); } return s; } }