-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcode.py
More file actions
34 lines (23 loc) · 704 Bytes
/
code.py
File metadata and controls
34 lines (23 loc) · 704 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class Solution:
def __init__(self) :
self.store = []
def recursiveTraverse(self, s, pos) :
"""
Given a character array and a pos, changes bit in that position
"""
if pos >= len(s) :
return
self.recursiveTraverse(s, pos+1)
if s[pos] == '0' :
s[pos] = '1'
else :
s[pos] = '0'
self.store.append(int("".join(s),2))
self.recursiveTraverse(s, pos+1)
# @param A : integer
# @return a list of integers
def grayCode(self, A):
s = ['0']*A
self.store.append(int("".join(s),2))
self.recursiveTraverse(s, 0)
return self.store