Peeking Iterator
Problem: Peeking Iterator
To get the property similar to peeking iterator, we just fetch and store next() of regular iterator and move regular iterator one step forward as our peeking iterator.
Code in Python:
class PeekingIterator(object):
def __init__(self, iterator):
self.iter = iterator
self.temp = self.iter.next() if self.iter.hasNext() else None
def peek(self):
return self.temp
def next(self):
ret = self.temp
self.temp = self.iter.next() if self.iter.hasNext() else None
return ret
def hasNext(self):
return self.temp is not None