1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-10 18:48:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/扁平化嵌套列表迭代器 [flatten-nested-list-iterator].html
2022-03-29 12:43:11 +08:00

47 lines
1.9 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>给你一个嵌套的整数列表 <code>nestedList</code> 。每个元素要么是一个整数,要么是一个列表;该列表的元素也可能是整数或者是其他列表。请你实现一个迭代器将其扁平化,使之能够遍历这个列表中的所有整数。</p>
<p>实现扁平迭代器类 <code>NestedIterator</code> </p>
<ul>
<li><code>NestedIterator(List&lt;NestedInteger&gt; nestedList)</code> 用嵌套列表 <code>nestedList</code> 初始化迭代器。</li>
<li><code>int next()</code> 返回嵌套列表的下一个整数。</li>
<li><code>boolean hasNext()</code> 如果仍然存在待迭代的整数,返回 <code>true</code> ;否则,返回 <code>false</code></li>
</ul>
<p>你的代码将会用下述伪代码检测:</p>
<pre>
initialize iterator with nestedList
res = []
while iterator.hasNext()
append iterator.next() to the end of res
return res</pre>
<p>如果 <code>res</code> 与预期的扁平化列表匹配,那么你的代码将会被判为正确。</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre>
<strong>输入:</strong>nestedList = [[1,1],2,[1,1]]
<strong>输出:</strong>[1,1,2,1,1]
<strong>解释:</strong>通过重复调用&nbsp;<em>next </em>直到&nbsp;<em>hasNex</em>t 返回 false<em>next&nbsp;</em>返回的元素的顺序应该是: <code>[1,1,2,1,1]</code></pre>
<p><strong>示例 2</strong></p>
<pre>
<strong>输入:</strong>nestedList = [1,[4,[6]]]
<strong>输出:</strong>[1,4,6]
<strong>解释:</strong>通过重复调用&nbsp;<em>next&nbsp;</em>直到&nbsp;<em>hasNex</em>t 返回 false<em>next&nbsp;</em>返回的元素的顺序应该是: <code>[1,4,6]</code>
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= nestedList.length &lt;= 500</code></li>
<li>嵌套列表中的整数值在范围 <code>[-10<sup>6</sup>, 10<sup>6</sup>]</code></li>
</ul>