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:
Given the list[[1,1],2,[1,1]],
By callingnextrepeatedly untilhasNextreturns false, the order of elements returned bynextshould be:[1,1,2,1,1].
Example 2:
Given the list[1,[4,[6]]],
By callingnextrepeatedly untilhasNextreturns false, the order of elements returned bynextshould be:[1,4,6].