题目链接:
力扣https://leetcode-cn.com/problems/flatten-nested-list-iterator/
【分析】定义一个数组存储扁平化处理后的Integer值,dfs遍历这个NestedList,如果是数字就直接加入到数组中,否则dfs这个NestedInteger对象。
public class NestedIterator implements Iterator{ public List list = new ArrayList(); public int n; public int i; public void dfs(NestedInteger nest){ if(nest.isInteger()){ list.add(nest.getInteger()); }else{ for(NestedInteger ni: nest.getList()){ dfs(ni); } } } public NestedIterator(List nestedList) { for(NestedInteger ni: nestedList){ dfs(ni); } this.n = list.size(); this.i = 0; } @Override public Integer next() { return list.get(i++); } @Override public boolean hasNext() { return i < n; } }



