class NestedIterator {
	public:
	list<int>v1;

void fill(list<int>&v1, vector<NestedInteger>&ni){
    for(auto i:ni){
        if(i.isInteger()){
            v1.push_back(i.getInteger());
        }
        fill(v1,i.getList());
    }
    return;
}
NestedIterator(vector<NestedInteger> &nestedList) {
    for(auto i:nestedList){
        if(i.isInteger())
            v1.push_back(i.getInteger());
        else{
            fill(v1,i.getList());
            /*vector<NestedInteger>ni=i.getList();
            for(auto j:ni){
                v1.push_back(j.getInteger());
            }*/
        }
    }
}

int next() {
    int ans=v1.front();
    v1.pop_front();
    return ans;
}

bool hasNext() {
    return v1.size()>=1;
}
};
Comments (0)