Leetcode 341 Flatten Nested List Iterator

题目描述:

Leetcode 341 Flatten Nested List Iterator

代码如下(c++)版本:

class NestedIterator {
public:
    queue<int>st;
    NestedIterator(vector<NestedInteger> &nestedList) {
        init(nestedList);
    }

    void init(vector<NestedInteger> &list)
    {
        for(int i =0;i<list.size();i++)
        {
           if(list[i].isInteger())st.push(list[i].getInteger());
           else init(list[i].getList());
        }
    }
    int next() {
        int top =  st.front();
        st.pop();
        return top;
    }

    bool hasNext() {
        return !st.empty();
    }
};

先将列表初始化到队列中,然后从队列中选取元素。