给出一个嵌套的整数列表,实现一个扁平化遍历该链表的迭代器
例如:
给定列表 [[1,1],2,[1,1]]
,
通过重复调用 next 直到 hasNext 返回false,next 返回的元素的顺序应该是: [1,1,2,1,1]
上图给出了一个扁平化处理过程,从处理过程上看,当遇到一个嵌套list时,会进入嵌套的list处理该list,当嵌套list处理完成后,会返回外层list继续处理。这个过程是一个递归的处理过程,因此可以使用两个栈,一个栈begin保存每层list的当前迭代器,另一个栈end保存每层list的尾后迭代器,用于判断何时一层list处理结束。begin.top()和end.top()是同一层list的当前迭代器和尾后迭代器