284. Peeking Iterator

网友投稿 717 2022-09-04

284. Peeking Iterator

284. Peeking Iterator

Given an Iterator class interface with methods: next() and hasNext(), design and implement a PeekingIterator that support the peek() operation – it essentially peek() at the element that will be returned by the next call to next().

Here is an example. Assume that the iterator is initialized to the beginning of the list: [1, 2, 3].

Call next() gets you 1, the first element in the list.

Now you call peek() and it returns 2, the next element. Calling next() after that still return 2.

You call next() the final time and it returns 3, the last element. Calling hasNext() after that should return false.

Follow up: How would you extend your design to be generic and work with all types, not just integer?

// Java Iterator interface reference:// PeekingIterator implements Iterator { private Iterator iter; private Integer next; public PeekingIterator(Iterator iterator) { // initialize any member here. iter = iterator; if (iter.hasNext()) { next = iter.next(); } } // Returns the next element in the iteration without advancing the iterator. public Integer peek() { return next; } // hasNext() and next() should behave the same as in the Iterator interface. // Override them if needed. @Override public Integer next() { Integer res = next; next = iter.hasNext() ? iter.next() : null; return res; } @Override public boolean hasNext() { return next != null; }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:275. H-Index II
下一篇:PHP 性能监控:Tideways、xhprof 和 xhgui 打造 PHP 非侵入式监控平台(php货币)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~