class Solution:
def grayCode(self, n: int) -> List[int]:
res,head = [0],1
for i in range(n):
for j in range(len(res)-1,-1,-1): #range计算时进行判别,每次取i时固定一个j的range
res.append(head+res[j])
head <<= 1 #head二进制位左移一位,第一次循环head由1变为10,第二次由10变为100
return res
LEETCODE-89. 格雷编码
最新推荐文章于 2022-08-23 18:08:25 发布