Skip to content

Latest commit

 

History

History
42 lines (33 loc) · 983 Bytes

Question_341.md

File metadata and controls

42 lines (33 loc) · 983 Bytes

LeetCode Records - Question 341 Flatten Nested List Iterator

Attempt 1: Get the flatten list first

public class NestedIterator implements Iterator<Integer> {

    private List<Integer> list;
    private Iterator<Integer> iterator;

    public NestedIterator(List<NestedInteger> nestedList) {
        list = new ArrayList<>();

        getAllIntegers(nestedList);

        iterator = list.iterator();
    }

    private void getAllIntegers(List<NestedInteger> nestedList) {
        for (NestedInteger item : nestedList) {
            if (item.isInteger()) {
                list.add(item.getInteger());
            } else {
                getAllIntegers(item.getList());
            }
        }
    }

    @Override
    public Integer next() {
        return iterator.next();
    }

    @Override
    public boolean hasNext() {
        return iterator.hasNext();
    }
}
  • Runtime: 2 ms (Beats: 100.00%)
  • Memory: 46.03 MB (Beats: 15.39%)