Flatten Nested List Iterator(DFS,Iter)

Given a nested list of integers, implement an iterator to flatten it.

Each element is either an integer, or a list -- whose elements may also be integers or other lists.

Example 1:

Input: 
[[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]
.

Example 2:

分析:

python 强大的for loop来做dfs

用stack+iter做

栈里赛的都是Iter

has next 每次看栈顶元素,没有next就是当前list空了,弹出,有元素是int直接返回true,有元素是List,把list iter塞入stack

Last updated

Was this helpful?