341. Flatten Nested List Iterator【M】【42】

原创 2016年05月31日 13:26:27

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:
Given the list [[1,1],2,[1,1]],

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

Example 2:
Given the list [1,[4,[6]]],

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


Subscribe to see which companies asked this question


# """
# This is the interface that allows for creating nested lists.
# You should not implement it, or speculate about its implementation
# """
#class NestedInteger(object):
#    def isInteger(self):
#        """
#        @return True if this NestedInteger holds a single integer, rather than a nested list.
#        :rtype bool
#        """
#
#    def getInteger(self):
#        """
#        @return the single integer that this NestedInteger holds, if it holds a single integer
#        Return None if this NestedInteger holds a nested list
#        :rtype int
#        """
#
#    def getList(self):
#        """
#        @return the nested list that this NestedInteger holds, if it holds a nested list
#        Return None if this NestedInteger holds a single integer
#        :rtype List[NestedInteger]
#        """

class NestedIterator(object):

    def __init__(self, nestedList):

        l = nestedList
        self.res = []

        if not l:
            return

        while l != []:
            i = l.pop(0)
            if i.isInteger():
                self.res += i.getInteger(),
            else:
                l = i.getList() + l

        """
        Initialize your data structure here.
        :type nestedList: List[NestedInteger]
        """

    def next(self):
        return self.res.pop(0)
        """
        :rtype: int
        """

    def hasNext(self):
        return self.res != []
        """
        :rtype: bool
        """

# Your NestedIterator object will be instantiated and called as such:
# i, v = NestedIterator(nestedList), []
# while i.hasNext(): v.append(i.next())


List和Iterator在用hibernate查询时候的区别

List和Iterator的区别 让我们先运行一下代码 实例:public void fillAll(){        Session session=HibernateUtil.getSessio...
  • u013125680
  • u013125680
  • 2014年11月06日 16:02
  • 1630

iterator和List的区别

我们学习到集合的遍历的时候会掌握很多种方法,往往选择就会纠结,以前我也没怎么关注,今天算是弄清楚了。 iterator这是一个迭代器,返回的类型是iterator,遍历的效率高,而且做查询的...
  • coldh
  • coldh
  • 2015年09月23日 10:08
  • 1556

Hibernate框架---- N+1是什么?它们的list和iterator区别(九)

之前我们说过hibernate的缓存机制,可以将它看成一个Map,通过key在缓存里面找value。 hibernate通过query查询放查询数据,比如我们要查询100条数据,但是其中40条已经缓...
  • sinat_15274667
  • sinat_15274667
  • 2016年12月28日 11:43
  • 431

STL 之 list源代码自行实现(iterator)

一:起因 (1)数据结构里面两种非常重要的存储结构,线性结构中的连续存储结构(代表vector数组)和非连续存储结构(代表list链表),他们两者被广泛的应用在 各个领域,是最基本最基础的两种存储结构...
  • u010700335
  • u010700335
  • 2014年11月17日 20:24
  • 3193

通过Iterator遍历List

使用Iterator 遍历器对List集合进行遍历
  • SelonLiao
  • SelonLiao
  • 2014年10月19日 14:33
  • 3256

STL 简单 iterator 的实现(含源码)

STL的中心思想在于将容器(container)和算法(algorithms)分开,彼此独立设计,最后再以一贴胶着剂将它们撮合在一起,而这个胶着剂就是迭代器(iterator)。          迭...
  • chengonghao
  • chengonghao
  • 2016年05月10日 10:04
  • 1208

Struts迭代器(iterator)遍历List常用的4种例子

1. 遍历List 2. 遍历List> 3. 遍历UserEntity 4. 遍历List 例子的详细代码请参考附件1,给出两个4个例子的运行截图(如下图1):             ...
  • wushaoge0129
  • wushaoge0129
  • 2014年04月28日 18:13
  • 4811

集合类的remove(obj)和iterator的remove方法差别

java.util.ConcurrentModificationException 工作中碰到个ConcurrentModificationException。代码如下: List list = .....
  • xad707348125
  • xad707348125
  • 2015年04月16日 15:31
  • 1812

Python如何拉平(flatten)嵌套列表(nested list)--(递归生成器)

有时候会用到嵌套的列表(list),比如 [python] view plain copy  print? [1, 2, [3, 4, [5, 6]], ["...
  • u011854789
  • u011854789
  • 2016年06月19日 20:28
  • 140

面试题:Iterator遍历的添加删除

list是一个ArrayList的对象,哪个选项的代码填到//todo delete处,可以在Iterator遍历的过程中正确并安全的删除一个list中保存的对象?()Iterator it = li...
  • Mrzhoug
  • Mrzhoug
  • 2016年06月11日 08:50
  • 3555
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:341. Flatten Nested List Iterator【M】【42】
举报原因:
原因补充:

(最多只允许输入30个字)