#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