C++ | Leetcode C++题解之第284题窥视迭代器

题目:

题解:

cpp 复制代码
template <class T>
class PeekingIterator : public Iterator<T> {
public:
    PeekingIterator(const vector<T>& nums) : Iterator<T>(nums) {
        flag = Iterator<T>::hasNext();
        if (flag) {
            nextElement = Iterator<T>::next();
        }
    }
    
    T peek() {
        return nextElement;
    }

    T next() {
        T ret = nextElement;
        flag = Iterator<T>::hasNext();
        if (flag) {
            nextElement = Iterator<T>::next();
        }
        return ret;
    }
    
    bool hasNext() const {
        return flag;
    }
private:
    T nextElement;
    bool flag;
};
相关推荐
参.商.10 分钟前
【Day45】647. 回文子串 5. 最长回文子串
leetcode·golang
Trouvaille ~13 分钟前
【优选算法篇】哈希表——空间换时间的极致艺术
c++·算法·leetcode·青少年编程·蓝桥杯·哈希算法·散列表
️是7817 分钟前
信息奥赛一本通—编程启蒙(3346:【例60.3】 找素数)
数据结构·c++·算法
一杯美式 no sugar19 分钟前
类和对象(中)
开发语言·c++
qq_4160187221 分钟前
实时数据可视化库
开发语言·c++·算法
格林威21 分钟前
工业相机参数解析:曝光时间与运动模糊的“生死博弈”
c++·人工智能·数码相机·opencv·算法·计算机视觉·工业相机
2401_8732046535 分钟前
C++中的策略模式进阶
开发语言·c++·算法
OKkankan36 分钟前
深入理解linux进程
java·linux·c++
HABuo36 分钟前
【linux线程(一)】线程概念、线程控制详细剖析
linux·运维·服务器·c语言·c++·ubuntu·centos
王老师青少年编程36 分钟前
2026年3月GESP真题及题解(C++七级):物流网络
c++·题解·真题·gesp·csp·七级·物流网络