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
}
相关推荐
执着2592 分钟前
力扣hot100 - 199、二叉树的右视图
数据结构·算法·leetcode
清云随笔12 分钟前
Golang基础
golang
cpp_250112 分钟前
P8448 [LSOT-1] 暴龙的土豆
数据结构·c++·算法·题解·洛谷
YGGP13 分钟前
【Golang】LeetCode 49. 字母异位词分组
leetcode
唐梓航-求职中22 分钟前
编程大师-技术-算法-leetcode-1472. 设计浏览器历史记录
算法·leetcode
YGGP31 分钟前
【Golang】LeetCode 1. 两数之和
leetcode
唐梓航-求职中32 分钟前
编程大师-技术-算法-leetcode-355. 设计推特
算法·leetcode·面试
唐梓航-求职中41 分钟前
技术-算法-leetcode-1606. 找到处理最多请求的服务器(易懂版)
服务器·算法·leetcode
YGGP3 小时前
【Golang】LeetCode 128. 最长连续序列
leetcode
牛奔3 小时前
Go 如何避免频繁抢占?
开发语言·后端·golang