这个是一道利用dfs来解决的问题
class NestedIterator {
private:
vector<int> data;
int i;
public:
NestedIterator(vector<NestedInteger> &nestedList) {
dfs(nestedList);
i = 0;
}
int next() {
return data[i ++];
}
bool hasNext() {
return i < data.size();
}
private:
void dfs( const vector<NestedInteger>& nestedList ){
for(const NestedInteger& e : nestedList){
if(e.isInteger())
data.push_back(e.getInteger());
else
dfs(e.getList());
}
}
};