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;
};
相关推荐
阿Y加油吧1 分钟前
算法实战笔记:LeetCode 169 多数元素 & 75 颜色分类
笔记·算法·leetcode
t***5448 分钟前
如何在Dev-C++中选择Clang编译器
开发语言·c++
不要秃头的小孩9 分钟前
力扣刷题——509. 斐波那契数
python·算法·leetcode·动态规划
汉克老师38 分钟前
GESP2023年9月认证C++三级( 第一部分选择题(9-15))
c++·gesp三级·gesp3级
We་ct1 小时前
LeetCode 120. 三角形最小路径和:动态规划详解
前端·javascript·算法·leetcode·typescript·动态规划
py有趣1 小时前
力扣热门100题之和为K的子数组
数据结构·算法·leetcode
py有趣3 小时前
力扣热门100题之编辑距离
数据结构·算法·leetcode
Wave8454 小时前
C++继承详解
开发语言·c++·算法
Tairitsu_H4 小时前
C++类基础概念:定义、实例化和this指针
开发语言·c++
不想写代码的星星4 小时前
C++17 string_view 观察报告:好用,但有点费命
c++