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. 格雷编码
最新推荐文章于 2024-07-07 15:31:43 发布