Flatten Nested List Iterator LeetCode solution in Java
1public class NestedIterator implements Iterator<Integer> {2List<Integer> list = new ArrayList();34void flatten(List<NestedInteger> nestedList) {5for (NestedInteger nested : nestedList) {6if (nested.isInteger()) list.add(nested.getInteger());7else flatten(nested.getList());8}9}1011public NestedIterator(List<NestedInteger> nestedList) {12flatten(nestedList);13}1415int index = 0;1617@Override18public Integer next() {19return list.get(index++);20}2122@Override23public boolean hasNext() {24return index < list.size();25}26}