1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| 请你设计一个迭代器,除了支持 hasNext 和 next 操作外,还支持 peek 操作。
实现 PeekingIterator 类:
PeekingIterator(int[] nums) 使用指定整数数组 nums 初始化迭代器。 int next() 返回数组中的下一个元素,并将指针移动到下个元素处。 bool hasNext() 如果数组中存在下一个元素,返回 true ;否则,返回 false 。 int peek() 返回数组中的下一个元素,但 不 移动指针。
示例:
输入: ["PeekingIterator", "next", "peek", "next", "next", "hasNext"] [[[1, 2, 3]], [], [], [], [], []] 输出: [null, 1, 2, 2, 3, false]
解释: PeekingIterator peekingIterator = new PeekingIterator([1, 2, 3]); peekingIterator.next(); peekingIterator.peek(); peekingIterator.next(); peekingIterator.next(); peekingIterator.hasNext();
提示:
1 <= nums.length <= 1000 1 <= nums[i] <= 1000 对 next 和 peek 的调用均有效 next、hasNext 和 peek 最多调用 1000 次
|