Categories

# LeetCode 341. Flatten Nested List Iterator (Java)

Given a nested list of integers, implement an iterator to flatten it.

Each element is either an integer, or a list — whose elements may also be integers or other lists.

Example 1:

```Input: [[1,1],2,[1,1]]
Output: [1,1,2,1,1]
Explanation: By calling next repeatedly until hasNext returns false,
the order of elements returned by next should be: `[1,1,2,1,1]`.```

Example 2:

```Input: [1,[4,[6]]]
Output: [1,4,6]
Explanation: By calling next repeatedly until hasNext returns false,
the order of elements returned by next should be: `[1,4,6]`.```

This problem we need flatten a nested structure, we use a method recursively solve this problem.

First, we call flatten(nestedList). When we meet a number, we put it to numList. When we meet a list, we call flatten recursively.

Other problems related to stack and queue, see also Stack and Queue Data Structure (Java code and Leetcode problems)

This site uses Akismet to reduce spam. Learn how your comment data is processed.