341. Flatten Nested List Iterator

来源:互联网 发布:网络群众路线ppt 编辑:程序博客网 时间:2024/05/04 15:11
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;    }};
1 0