Given a nested list of integers, implement an iterator to flatten it.

Each element is either an integer, or a list -- whose elements may also be integers or other lists.

Example 1:

Input: [[1,1],2,[1,1]]
Output: [1,1,2,1,1]
Explanation: By calling next repeatedly until hasNext returns false,
  the order of elements returned by next should be: [1,1,2,1,1].

Example 2:

Input: [1,[4,[6]]]
Output: [1,4,6]
Explanation: By calling next repeatedly until hasNext returns false,
  the order of elements returned by next should be: [1,4,6].

题目

将Nested List展平,像访问一个一维列表一样访问嵌套列表。

思路

queue

代码

 public class NestedIterator implements Iterator<Integer> {

     Queue<Integer> queue;

     public NestedIterator(List<NestedInteger> nestedList) {
queue = new LinkedList<>();
helper(nestedList);
} @Override
public Integer next() {
return queue.poll();
} @Override
public boolean hasNext() {
return !queue.isEmpty();
}
private void helper(List<NestedInteger> nestedList){
for(NestedInteger n:nestedList){
if(n.isInteger()){
queue.add(n.getInteger());
}else{
helper(n.getList());
}
}
}
}

[leetcode]341. Flatten Nested List Iterator展开嵌套列表的迭代器的更多相关文章

  1. [LeetCode] 341. Flatten Nested List Iterator 压平嵌套链表迭代器

    Given a nested list of integers, implement an iterator to flatten it. Each element is either an inte ...

  2. 341. Flatten Nested List Iterator展开多层数组

    [抄题]: Given a nested list of integers, implement an iterator to flatten it. Each element is either a ...

  3. LeetCode 341. Flatten Nested List Iterator

    https://leetcode.com/problems/flatten-nested-list-iterator/

  4. [LintCode] Flatten Nested List Iterator 压平嵌套链表迭代器

    Given a nested list of integers, implement an iterator to flatten it. Each element is either an inte ...

  5. [LeetCode] Flatten Nested List Iterator 压平嵌套链表迭代器

    Given a nested list of integers, implement an iterator to flatten it. Each element is either an inte ...

  6. 【LeetCode】341. Flatten Nested List Iterator 解题报告(Python&C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归+队列 栈 日期 题目地址:https://lee ...

  7. 【leetcode】341. Flatten Nested List Iterator

    题目如下: Given a nested list of integers, implement an iterator to flatten it. Each element is either a ...

  8. 341. Flatten Nested List Iterator

    List里可以有int或者List,然后里面的List里面可以再有List. 用Stack来做比较直观 Iterator无非是next()或者hasNext()这2个方程 一开始我想的是hasNext ...

  9. Python代码阅读(第11篇):展开嵌套列表

    Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码 本篇阅读的代码实现了展开嵌套列表的功能,将一个嵌套的list展开成一个一维list(不改变原有列表的顺序). 本篇阅读的代 ...

随机推荐

  1. PythonStudy——函数的使用 Use of functions

    # print(a) # a = 10 # 注意:函数必须先定义,后使用 # print(get_water) def get_water(water, money): print('收入你的%d元钱 ...

  2. oracle-ords

    oracle rest data service ORDS Perforce    adv. 一定,必须:必然地pagination    n. 标记页数:页码,分页Online documentat ...

  3. 在线HTML编辑器KindEditor

     简介 KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果,兼容IE.Firefox.Chrome.Safari.Opera等主流浏览器.KindEdi ...

  4. oracle命令1

    基础查询  查询当前用户 show user; 查询当前用户下的表 select * from tab; 清屏 host cls: clear; --查询所有的员工信息 select * from e ...

  5. C# 调用打印机 打印 Excel

    打印 Excel 模板 大体思路,通过NPOI操作Excel文件,通过Spire将Excel转成图片,将图片传给系统打印. Spire是收费工具,在微软库中下载Free版本. #region 打印所用 ...

  6. ubuntu server资料

    2.改变键盘布局 sudo dpkg-reconfigure keyboard-configuration 或sudo vim /etc/default/keyboard,修改XKBLAYOUT变量的 ...

  7. 开机自启动 centos 7

    开机自启动,写入必要的命令即可.vim /etc/rc.d/rc.local

  8. Jobs深入学习

    代码回顾 Quartz 需要了解你可能希望该作业的实例拥有的各种属性,这是通过JobDetail 类完成的.  JobDetail 实例是使用 JobBuilder 类构建的. JobDetail j ...

  9. (转)SqlServer2008 数据库同步:发布、订阅

    原文地址:http://www.cnblogs.com/tyb1222/archive/2011/05/31/2064944.html 发布订阅份为两个步骤:1.发布.2订阅.首先在数据源数据库服务器 ...

  10. 用户名、密码等15个常用的js正则表达式

    本文收集整理了15个常用的javaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份证号.URL地址. IPv4地址. 十六进制颜色. 日期. Q ...