LeetCode/problems/peeking-iterator.java
Matej Focko a71684d500
problems: add peeking iterator
Signed-off-by: Matej Focko <mfocko@redhat.com>
2022-08-05 12:11:01 +02:00

32 lines
588 B
Java

class PeekingIterator implements Iterator<Integer> {
private Iterator<Integer> it;
private Integer pVal;
private boolean pHasNext;
public PeekingIterator(Iterator<Integer> iterator) {
it = iterator;
next();
}
public Integer peek() {
return pVal;
}
@Override
public Integer next() {
pHasNext = it.hasNext();
Integer oldValue = pVal;
if (pHasNext) {
pVal = it.next();
}
return oldValue;
}
@Override
public boolean hasNext() {
return pHasNext;
}
}