[LeetCode]#89グレイコード(グレイコード)



89 Gray Code



[LeetCode]#89グレイコード(グレイコード)

トピックの説明

グレイコーディングは、2つの連続する値が1桁だけ異なる2進数システムです。
エンコードされたビットの総数を表す負でない整数nが与えられると、グレイコード化されたシーケンスを出力します。グレイコードシーケンスは0で始まる必要があります。



例1:



入力:2
出力:[0,1,3,2]
説明:
00-0
01-1
11-3
10-2
与えられたnに対して、グレイコード配列は一意ではありません。
たとえば、[0,2,3,1]も有効なグレイコード配列です。
00-0
10-2
11-3
01-1

例2:

入力:0
出力:[0]
説明:グレイコードシーケンスは0で始まる必要があると定義します。
合計ビット数がnのグレイコードシーケンスが与えられると、長さは2nになります。 n = 0の場合、長さは20 = 1です。
したがって、n = 0の場合、そのグレイコードシーケンスは[0]です。



説明

グレイコードは、2つの連続する値が1ビットだけ異なる2進数システムです。
コード内のビットの総数を表す負でない整数nが与えられた場合、グレイコードのシーケンスを出力します。グレイコードシーケンスは0で始まる必要があります。

例1:

入力:2
出力:[0,1,3,2]
説明:
00-0
01-1
11-3
10-2
与えられたnに対して、グレイコードシーケンスは一意に定義されない場合があります。
たとえば、[0,2,3,1]も有効なグレイコードシーケンスです。
00-0
10-2
11-3
01-1

例2:

入力:0
出力:[0]
説明:0から始まるグレイコードシーケンスを定義します。
nのグレイコードシーケンスのサイズは= 2nであり、n = 0の場合のサイズは20 = 1です。
したがって、n = 0の場合、グレイコードシーケンスは[0]です。

解決

class Solution { public List grayCode(int n) { List res = new ArrayList() int size, j double num if(n==0) res.add(0) else{ res.add(0) res.add(1) for(int i=1 i