89. Gray Code
Medium
8501816Add to ListShare
The gray code is a binary numeral system where two successive values differ in only one bit.
Given an integer n
representing the total number of bits in the code, return any sequence of gray code.
A gray code sequence must begin with 0
.
Example 1:
Input: n = 2 Output: [0,1,3,2] Explanation: 00 - 0 01 - 1 11 - 3 10 - 2 [0,2,3,1] is also a valid gray code sequence. 00 - 0 10 - 2 11 - 3 01 - 1
Example 2:
Input: n = 1 Output: [0,1]
Constraints:
1 <= n <= 16
class Solution:
def grayCode(self, n: int) -> List[int]:
"""
格雷码数学公式:n ^ (n/2)
"""
result = []
for i in range(0, pow(2, n)):
result.append(i ^ (i >> 1))
return result