


NestedIterator(vector<NestedInteger> nestedList) Initializes the
iterator with the nested list nestedList.
int next() Returns the next integer in the nested list.
bool hasNext() Returns true if there are still some integers in the nested list and false otherwise.
initialize iterator with nestedList
answer = []
while iterator.hasNext()
append iterator.next() to the end of answer
return answer
Input List: [[1, 1], 2, [1, 1]]
Output List: [1, 1, 2, 1, 1]
The first line contains 'T', the number of test cases.
For each test case, there will be only one line in the input containing integers and some nested lists.
Print the second line containing the flattered nested list.
You don't need to print anything. It has already been taken care of. Just implement the given class.
1 <= 'T' <= 10
1 <= 'N' <= 10^5
0 <= Values of integers in the nested list <= 10^5
Time Limit: 1sec
Approach: In this approach, we will iterate over the list and make a function 'makeFlat' to flatten the given list. Also, we will make the function 'isInteger' to check if the current element is an integer or not. We will push it in the extra array 'answer' if it is an integer. If it is not an integer, will call 'makeFlat' function for it.
While iterating over the list we will call 'makeFlat' for it and then store integers in it in the extra array.
We will initialize the variable 'i' for remembering the list's current position, and for the 'next()' method, we will return 'answer[i++]'.
For the method 'hasNext()' we will return 'i < answer.size()'.
Algorithm :
// Preimplemented methods.
NestedIterator(vector<NestedInteger> &nestedList)
int next()
bool hasNext()
// Function to make the list flattered
void makeFlat(NestedInteger x)