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
}
相关推荐
Tisfy8 分钟前
LeetCode 0085.最大矩形:单调栈
算法·leetcode·题解·单调栈
源代码•宸11 分钟前
Golang语法进阶(定时器)
开发语言·经验分享·后端·算法·golang·timer·ticker
倦王23 分钟前
力扣日刷26110
算法·leetcode·职场和发展
Q741_14738 分钟前
C++ 队列 宽度优先搜索 BFS 力扣 429. N 叉树的层序遍历 每日一题
c++·算法·leetcode·bfs·宽度优先
a程序小傲39 分钟前
得物Java面试被问:边缘计算的数据同步和计算卸载
java·开发语言·数据库·后端·面试·golang·边缘计算
jinmo_C++41 分钟前
Leetcode矩阵
算法·leetcode·矩阵
️停云️12 小时前
【滑动窗口与双指针】不定长滑动窗口
c++·算法·leetcode·剪枝·哈希
nbsaas-boot13 小时前
Go vs Java 的三阶段切换路线图
java·开发语言·golang
玖剹15 小时前
队列+宽搜(bfs)
数据结构·c++·算法·leetcode·宽度优先
modelmd16 小时前
Go 编程语言指南 练习题目分享
开发语言·学习·golang