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

题目:

题解:

Go 复制代码
type PeekingIterator struct {
    iter     *Iterator
    _hasNext bool
    _next    int
}

func Constructor(iter *Iterator) *PeekingIterator {
    return &PeekingIterator{iter, iter.hasNext(), iter.next()}
}

func (it *PeekingIterator) hasNext() bool {
    return it._hasNext
}

func (it *PeekingIterator) next() int {
    ret := it._next
    it._hasNext = it.iter.hasNext()
    if it._hasNext {
        it._next = it.iter.next()
    }
    return ret
}

func (it *PeekingIterator) peek() int {
    return it._next
}
相关推荐
Hesionberger4 分钟前
动态规划与二分法破解最长递增子序列
java·数据结构·python·算法·leetcode
令狐掌门1 小时前
2026华为OD面试题020:日志文件异常检测
算法·leetcode·华为od
Wang's Blog1 小时前
Go-Zero框架上手前奏2: 微服务核心要素 —— 拆分、通信与无状态设计
开发语言·微服务·golang
To_OC10 小时前
LC 17 电话号码的字母组合:我的回溯算法,就是从这道题开窍的
javascript·算法·leetcode
海石17 小时前
【JS击败90%】前缀和+定长滑动窗口
算法·leetcode
Tisfy17 小时前
LeetCode 2685.统计完全连通分量的数量:DFS求每个连通块的边点数
算法·leetcode·深度优先··题解·连通图·全连通分量
海石18 小时前
1次遍历,空间复杂度击败100%,时间复杂度击败85%
算法·leetcode
lueluelue4718 小时前
LeetCode:滑动窗口
数据结构·算法·leetcode
Generalzy18 小时前
从本地 Demo 到生产级检索:Milvus 学习笔记(2)
golang·milvus
小高Baby@19 小时前
单链表的删操作
数据结构·算法·golang