class NestedIterator {
private:
vector<int> ans;
//vector<int>::iterator cur;
int idx;
void dfs(const vector<NestedInteger> &nestedList) {
for(auto it:nestedList) {
if(it.isInteger())ans.push_back(it.getInteger());
else dfs(it.getList());
}
}
public:
NestedIterator(vector<NestedInteger> &nestedList) {
dfs(nestedList);
//cur = ans.begin();
idx = 0;
}
int next() {
//return *cur++;//取出cur中的内容返回,然后cur在自增
return ans[idx++];//先输出ans[idx],然后idx在自增
}
bool hasNext() {
// return cur!=ans.end();
return idx<ans.size();
}
};
LeetCode 341. 扁平化嵌套列表迭代器 题解 C/C++
于 2021-04-26 20:06:48 首次发布