题目

https://leetcode.com/problems/peeking-iterator/

题解

一句话解释题意:标准的 iter 接口不包含 peek 功能,本题希望你能够增加这个功能。

// Java Iterator interface reference:
// https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.htmlclass PeekingIterator implements Iterator<Integer> {Iterator<Integer> iter;Integer num;public PeekingIterator(Iterator<Integer> iterator) {// initialize any member here.iter = iterator;if (iterator.hasNext())num = iterator.next();}// Returns the next element in the iteration without advancing the iterator.public Integer peek() {return num;}// hasNext() and next() should behave the same as in the Iterator interface.// Override them if needed.@Overridepublic Integer next() {Integer ret = num;if (iter.hasNext())num = iter.next();elsenum = null;return ret;}@Overridepublic boolean hasNext() {return num != null;}
}

leetcode 284. Peeking Iterator | 284. 顶端迭代器(给 iterator 添加 peek 方法)相关推荐

  1. 设计模式 - 迭代器模式(iterator pattern) 具体解释

    迭代器模式(iterator pattern) 详细解释 本文地址: http://blog.csdn.net/caroline_wendy 迭代器模式(iterator pattern) : 提供一 ...

  2. LeetCode 284. 顶端迭代器

    1. 题目 给定一个迭代器类的接口,接口包含两个方法: next() 和 hasNext(). 设计并实现一个支持 peek() 操作的顶端迭代器 – 其本质就是把原本应由 next() 方法返回的元 ...

  3. 设计模式之迭代器模式(Iterator)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...

  4. c++迭代器iterator通用吗_「ES6基础」迭代器(iterator)

    迭代器(iterator)是一个结构化的模式,用于从源以一次一个的方式提取数据.迭代器的使用可以极大地简化数据操作,于是ES6也向JS中添加了这个迭代器特性.新的数组方法和新的集合类型(如Set集合与 ...

  5. 迭代器模式(Iterator pattern)

    一. 引言 迭代这个名词对于熟悉Java的人来说绝对不陌生.我们常常使用JDK提供的迭代接口进行java collection的遍历: Iterator it = list.iterator(); w ...

  6. 听webcast的行为型模式篇-迭代器模式(Iterator Pattern) 记录

    < DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> dotnet或java里 ...

  7. java基础-迭代器(Iterator)与增强for循环

    java基础-迭代器(Iterator)与增强for循环 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Iterator迭代器概述 Java中提供了很多个集合,它们在存储元素时 ...

  8. 如何得到iterator的当前元素_链表进化!双向链表+迭代器(Iterator)!

    好的!今天来说 终极蛇皮之上帝视角之如何弄懂并实现双向链表! 还有如何正确定义和实用迭代器 (其实在打字的时候还是凌晨1:38,帮姑妈填表的我要累死了QAQ) 双向链表 上一篇文章我所介绍的链表其实只 ...

  9. 设计模式:迭代器模式(Iterator Pattern)

    迭代器模式(Iterator Pattern): 属于行为型模式,提供一种遍历集合元素的统一接口,用一致的方法遍历集合元素,不需要知道集合对象的底层表示,即: 不暴露其内部结构.

最新文章

  1. Core Graphics
  2. 苏宁高时效、高并发秒杀业务中台的设计与实现
  3. Android万年历课程设计,电子万年历的设计(课程设计)
  4. juce中的BailOutChecker
  5. egg前面加什么_国威说阀:阀门前面为什么加国标美标日标之类的?
  6. 检测工业级交换机性能好坏的8种方法
  7. python调用adb shell命令_Python之使用adb shell命令启动应用的方法详解
  8. HTML5笔记1——HTML5的发展史及标签的改变
  9. kodi资源_kodi 展示播放 NAS 电影
  10. SQL Server 轻松解决令你头疼的sa登录
  11. 汇编语言学习之汇编语言源程序的输入
  12. java中aotomicInteger_面试官:你说一下对Java中的volatile的理解吧!
  13. Anacond win10安装与介绍
  14. Spring静态资源解决方案
  15. 烟雾传感器的matlab程序,单片机烟雾传感器proteus仿真+程序+PCB原理图
  16. 2年python自动化编程自学经历,分享一些学习心得和避坑经验
  17. 全网最全的人类图解析(下)——类型、人生角色、定义等
  18. 华为MA5600配置radius认证登陆
  19. 创建oracle数据库到达梦数据库的dblink
  20. Elasticsearch 7.10 之 Similarity module

热门文章

  1. CodeForces - 1330D Dreamoon Likes Sequences(组合数学)
  2. CodeForces - 1313C2 Skyscrapers (hard version)(单调栈+dp/分治)
  3. python操作json_如何使用Python处理JSON数据
  4. c++ 随机字符串_关于Python的随机数模块,你必须要掌握!
  5. 《openssl编程》之openssl简介
  6. SQL Server在存储过程中编写事务处理代码的三种方法
  7. C++ COM编程之接口背后的虚函数表
  8. 如何替公司省下数千万勒索费用
  9. Python中re.sub()实现替换文本字符串
  10. 万字长文|深入理解XDP全景指南