Skip to content

Latest commit

 

History

History
39 lines (32 loc) · 1008 Bytes

Question_284.md

File metadata and controls

39 lines (32 loc) · 1008 Bytes

LeetCode Records - Question 284 Peeking Iterator

Attempt 1: Record the next integer

class PeekingIterator implements Iterator<Integer> {

    private Iterator<Integer> iterator;
    private Integer nextInteger;

	public PeekingIterator(Iterator<Integer> iterator) {
	    // initialize any member here.
	    this.iterator = iterator;
        nextInteger =  iterator.hasNext() ? iterator.next() : null;
	}
	
    // Returns the next element in the iteration without advancing the iterator.
	public Integer peek() {
        return nextInteger;
	}
	
	// hasNext() and next() should behave the same as in the Iterator interface.
	// Override them if needed.
	@Override
	public Integer next() {
	    Integer result = nextInteger;
        nextInteger =  iterator.hasNext() ? iterator.next() : null;
        return result;
	}
	
	@Override
	public boolean hasNext() {
	    return nextInteger != null;
	}
}
  • Runtime: 3 ms (Beats: 100.00%)
  • Memory: 42.07 MB (Beats: 59.75%)