ブラシ09-生成グレイコード


原題リンク
タイトルの説明
        ,                    , 
          (Gray Code),       ,
         N     。

      n,   n     ,    0  。

テストサンプル
  :
1
  (       ):
["0","1"]

参考解法:
//    @RedstoneCMX @ 1024           

//       n gray   n-1 gray   ,        :
//   n=3 gray ,    n=2 gray  (00,01,11,10)
//  n=3 gray      n=2 gray     0 1   ,  0   (000,001,011,010)
//  1          (110,111,101,100)
//       (000,001,011,010,110,111,101,100)

public class T_41 {

	public String[] getGray(int n) {
		String strs[] = new String[(int)Math.pow(2, n)];
		if(n==1) {
			strs[0]="0";
			strs[1]="1";
			return strs;
		}else {
			String ss[] = getGray(n-1);
			for (int i = 0; i < ss.length; i++) {
				strs[i] = "0"+ss[i];
				strs[strs.length-1-i] = "1"+ss[i];
			}
		}	
		return strs;
    }
}