leetcode-284-顶端迭代器

怎甘沉沦 提交于 2019-12-01 11:55:20

题目描述:

 

 方法:记录前一次的数值

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

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!