0%

### 题目描述

You are given a nested list of integers `nestedList`. Each element is either an integer or a list whose elements may also be integers or other lists. Implement an iterator to flatten it.

Implement the NestedIterator class:

• `NestedIterator(List<NestedInteger> nestedList)` Initializes the iterator with the nested list nestedList.
• `int next()` Returns the next integer in the nested list.
• `boolean hasNext()` Returns `true` if there are still some integers in the nested list and `false` otherwise.

### 例子

#### 例子 1

Input:`nestedList = [[1,1],2,[1,1]]`
Output:`[1,1,2,1,1]`
Explanation:By calling next repeatedly until hasNext returns `false`, the order of elements returned by next should be: `[1,1,2,1,1]`.

#### 例子 2

Input: `nestedList = [1,[4,[6]]]`
Output: `[1,4,6]`
Explanation: By calling next repeatedly until hasNext returns `false`, the order of elements returned by next should be: `[1,4,6]`.

### Constraints

• `1 <= nestedList.length <= 500`
• The values of the integers in the nested list is in the range `[-10^6, 10^6]`

### 解题思路

• 时间复杂度: `O(n)`
• 空间复杂度: `O(n)`

GitHub 代码同步地址： 341.FlattenNestedListIterator.cpp

GitHub: Leetcode-C++-Solution