Search⌘ K
AI Features

Solution: Flatten Nested List Iterator

Explore how to implement a NestedIterator class to flatten nested lists of integers using a stack approach in Go. Learn how the constructor initializes the stack, how HasNext processes nested lists to ensure the next integer is ready, and how Next returns integers sequentially. Understand the time and space complexity involved in this solution.

Statement

You’re given a nested list of integers. Each element is either an integer or a list whose elements may also be integers or other integer lists. Your task is to implement an iterator to flatten the nested list.

You will have to implement the Nested Iterator class. This class has the following functions:

  • Constructor: This initializes the iterator with the nested list.
  • Next (): This returns the next integer in the nested list.
  • Has Next (): This returns TRUE if there are still some integers in the nested list. Otherwise, it returns FALSE.

Constraints

  • The nested list length is between 11 and 200200.
  • The nested list consists of integers between [1,104][1, 10^4].

Solution

We’ll use a stack to solve this problem. The stack will be used to store the integer and list of integers on the iterator object. ...