首页 > 代码库 > #Leet Code# Gray Code

#Leet Code# Gray Code

描述:

要求相邻数2进制差一位

先获得n-1的列表表示小于 2^(n-1) 的符合要求的列表,加上最高位的加成 2^(n-1) 就是大于等于 2^(n-1) 的符合要求的列表,后者翻转一下就能够与前者连接上了

代码:

 1 class Solution: 2     # @return a list of integers 3     def grayCode(self, n): 4         if n == 0: return [0] 5  6         s1 = self.grayCode(n - 1) 7         s2 = [item + 2 ** (n - 1) for item in s1[::-1]] 8         s1.extend(s2) 9 10         return s1