class NestedIterator {
private:
stack<NestedInteger> s;
public:
NestedIterator(vector<NestedInteger> &nestedList) {
for(int i=nestedList.size()-1;i>=0;i--)
{
s.push(nestedList[i]);
}
}
int next() {
int ret=s.top().getInteger();
s.pop();
return ret;
}
bool hasNext() {
while(!s.empty())
{
NestedInteger cur = s.top();
if(cur.isInteger())//如果栈顶是一个interger 则返回true
return true;
s.pop();
vector<NestedInteger> temp=cur.getList();//否则删除弹出栈顶 从栈顶中得到list 压入stack中
for(int i=temp.size()-1;i>=0;i--)
{
s.push(temp[i]);
}
}
return false;
}
};
341. Flatten Nested List Iterator
最新推荐文章于 2022-02-13 09:04:35 发布