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
}
相关推荐
looklight1 小时前
7. 整数反转
c++·算法·leetcode·职场和发展
緈福的街口2 小时前
【leetcode】36. 有效的数独
linux·算法·leetcode
神奇萝卜头4 小时前
GO语言使用gorm的dbresolver插件实现数据库读写分离
数据库·golang·gorm
海风极客6 小时前
《Go小技巧&易错点100例》第三十五篇
开发语言·后端·golang
ahhhhaaaa-9 小时前
【学习笔记】QUIC
数据库·笔记·学习·阿里云·golang·云计算
GalaxyPokemon12 小时前
LeetCode - 2. 两数相加
java·前端·javascript·算法·leetcode·职场和发展
编程绿豆侠12 小时前
力扣HOT100之堆:347. 前 K 个高频元素
算法·leetcode·哈希算法
Coding小公仔17 小时前
LeetCode 240 搜索二维矩阵 II
算法·leetcode·矩阵
C++chaofan17 小时前
74. 搜索二维矩阵
java·算法·leetcode·矩阵