Categories
LeetCode

LeetCode 341. Flatten Nested List Iterator (Java)

Source: https://leetcode.com/problems/flatten-nested-list-iterator/

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.

Github: https://github.com/tinyfool/leetcode/tree/master/src/p0341

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

Leave a Reply

Your email address will not be published. Required fields are marked *

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