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;
};
相关推荐
郝学胜-神的一滴18 分钟前
C++20模板元编程 04:变量模板 别名模板与模板Lambda实战
服务器·开发语言·数据结构·c++·程序人生
Nil20828 分钟前
leetcode 394字符串解码
leetcode
qq_3449205640 分钟前
Qt事件过滤器
开发语言·c++·qt
码匠许师傅1 小时前
【C++三方组件】fmt:C++字符串格式化的前世今生
c++
anew___1 小时前
舵机——让 Arduino 动起来
c++·stm32·单片机·嵌入式硬件·c
qq_344920561 小时前
Qt 鼠标双击QLabel全屏显示图像
c++·qt
f狐0狸x2 小时前
【C++修炼之路】C++继承的探索
c++·继承
虚无的纽扣2 小时前
【C++】C++11的魔法:不止右值引用,C++11赋予的编程神力
c++
码匠许师傅2 小时前
【C++三方组件】RE2:工业级正则的安全与性能
c++
ThornArmor2 小时前
《向内深潜,向外飞掠》
c语言·开发语言·c++·vim·visual studio