Flatten Nested List Iterator LeetCode solution in Python

1
class NestedIterator:
2
def __init__(self, nestedList: [NestedInteger]):
3
self.flattened_lst = self.flattenList(nestedList)
4
self.idx = 0
5

6
def next(self) -> int:
7
if self.idx >= len(self.flattened_lst):
8
raise Exception("Index out of bound")
9
self.idx += 1
10
return self.flattened_lst[self.idx - 1]
11

12
def hasNext(self) -> bool:
13
return self.idx < len(self.flattened_lst)
14

15
def flattenList(self, lst):
16
flattened_lst = []
17
for ele in lst:
18
if ele.isInteger():
19
flattened_lst.append(ele.getInteger())
20
else:
21
flattened_lst.extend(self.flattenList(ele.getList()))
22
return flattened_lst

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0