[leetcode 10-05] 一、顶端迭代器 -- 每日一题(获取顶端元素,但指针不发生变化)

[leetcode 10-05] 一、顶端迭代器 -- 每日一题(获取顶端元素,但指针不发生变化)

这里是实现一个类的功能,根据已有的功能,next() hasNext()

# 这个类中有几个定义好的函数,包含 next  以及hasNext
class PeekingIterator:
    def __init__(self, iterator):
        """
        Initialize your data structure here.
        :type iterator: Iterator
        """
        self.iterator = iterator # 可迭代元素
        self._next = iterator.next()
        self._hasNext = iterator.hasNext()
        
    def peek(self):
        return self._next  # 返回下一个元素,但指针不改变
        
    def next(self):
        ret = self._next
        self._hasNext = self.iterator.hasNext()
        self._next = self.iterator.next() if self._hasNext else 0
        return ret  # 如果有则返回next,没有则返回0

    def hasNext(self):
        return self._hasNext  # 这个是定义好的 hasnext
上一篇:关于 迭代器 的看法


下一篇:刷题-力扣-284. 窥探迭代器