Skip to content

Instantly share code, notes, and snippets.

@vrat28
Created April 13, 2021 10:32
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save vrat28/2b8170fa1f26b027b046ad3c4030cab0 to your computer and use it in GitHub Desktop.
Flatten Nest list iterator (Java)
public class NestedIterator implements Iterator<Integer> {
Queue<Integer> data = new LinkedList<>();
public NestedIterator(List<NestedInteger> nestedList) {
flatten(nestedList);
}
public void flatten(List<NestedInteger> list) {
for (NestedInteger el : list)
if (el.isInteger()) data.add(el.getInteger());
else flatten(el.getList());
}
public Integer next() { return data.poll(); }
public boolean hasNext() { return data.size() > 0; }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment