leetcode-284-顶端迭代器

题目描述:

 

 方法:记录前一次的数值

class PeekingIterator:
    def __init__(self, iterator):
        """
        Initialize your data structure here.
        :type iterator: Iterator
        """
        self.iterator = iterator
        self.pre = None

    def peek(self):
        """
        Returns the next element in the iteration without advancing the iterator.
        :rtype: int
        """
        if self.pre:
            return self.pre
        self.pre = self.iterator.next()
        return self.pre

    def next(self):
        """
        :rtype: int
        """
        if self.pre:
            num = self.pre
            self.pre = None
            return num
        return self.iterator.next()
        

    def hasNext(self):
        """
        :rtype: bool
        """
        if self.pre:
            return True
        if self.iterator.hasNext():
            return True
        return False

 

posted @ 2019-10-16 11:10  oldby  阅读(215)  评论(0编辑  收藏  举报