[leetcode-341]Flatten Nested List Iterator(java)

原创 2016年06月01日 09:26:15

这道题的思想是在调用hasNext的时候,将NestedInteger拆分,然后将第一个元素保存到域变量中即可。其他元素添加到链表的首部。

/**
 * // This is the interface that allows for creating nested lists.
 * // You should not implement it, or speculate about its implementation
 * public interface NestedInteger {
 *
 *     // @return true if this NestedInteger holds a single integer, rather than a nested list.
 *     public boolean isInteger();
 *
 *     // @return the single integer that this NestedInteger holds, if it holds a single integer
 *     // Return null if this NestedInteger holds a nested list
 *     public Integer getInteger();
 *
 *     // @return the nested list that this NestedInteger holds, if it holds a nested list
 *     // Return null if this NestedInteger holds a single integer
 *     public List<NestedInteger> getList();
 * }
 */
public class NestedIterator implements Iterator<Integer> {
    List<NestedInteger> nestedList;
    int data;
    public NestedIterator(List<NestedInteger> nestedList) {
        this.nestedList = nestedList;
    }

    @Override
    public Integer next() {
        return data;
    }

    @Override
    public boolean hasNext() {
        while(nestedList != null && nestedList.size() > 0){
           NestedInteger tmpInt = nestedList.remove(0);
            if(tmpInt.isInteger()){
                data = tmpInt.getInteger();
                return true;
            }else{
                nestedList.addAll(0,tmpInt.getList());
            } 
        }
        return false;
    }
}

/**
 * Your NestedIterator object will be instantiated and called as such:
 * NestedIterator i = new NestedIterator(nestedList);
 * while (i.hasNext()) v[f()] = i.next();
 */

LeetCode341 Flatten Nested List Iterator(迭代器模式实践) Java

题目: Given a nested list of integers, implement an iterator to flatten it.Each element is either an ...
  • l294265421
  • l294265421
  • 2016年04月20日 20:00
  • 4012

LeetCode 341. Flatten Nested List Iterator(嵌套列表迭代器)

原题网址:https://leetcode.com/problems/flatten-nested-list-iterator/ Given a nested list of integers, ...
  • jmspan
  • jmspan
  • 2016年04月30日 10:15
  • 779

[leetcode] 341. Flatten Nested List Iterator 解题报告

题目链接: https://leetcode.com/problems/flatten-nested-list-iterator/ Given a nested list of integers,...
  • qq508618087
  • qq508618087
  • 2016年04月10日 10:01
  • 3237

leetcode 341. Flatten Nested List Iterator

Given a nested list of integers, implement an iterator to flatten it. Each element is either an i...
  • u014568921
  • u014568921
  • 2016年04月17日 22:13
  • 1005

[LeetCode] Flatten Nested List Iterator

Given a nested list of integers, implement an iterator to flatten it.Each element is either an integ...
  • u011331383
  • u011331383
  • 2016年05月16日 10:54
  • 3649

Flatten Nested List Iterator

Given a nested list of integers, implement an iterator to flatten it. Each element is either an i...
  • u013325815
  • u013325815
  • 2016年09月08日 14:36
  • 168

[leetcode-341]Flatten Nested List Iterator(java)

这道题的思想是在调用hasNext的时候,将NestedInteger拆分,然后将第一个元素保存到域变量中即可。其他元素添加到链表的首部。/** * // This is the interface...
  • zdavb
  • zdavb
  • 2016年06月01日 09:26
  • 1503

Flatten Nested List Iterator leetcode 341

题目大意: 解嵌套,将一个数据可嵌套的类的整型值序列化。 思路:遍历一棵多叉树,如果是叶子节点就把结果加在list中,如果不是,就继续遍历子节点。...
  • tbestcc
  • tbestcc
  • 2016年04月16日 16:19
  • 1347

Python List 练习实践(一)

List 存取数字代码:# 最好使用元组tuple,不能改变信息 Product_List = [["Iphone", 5800], ["Bike", 800], ["Python", 80], ["...
  • u011463646
  • u011463646
  • 2017年08月11日 22:40
  • 143

341. Flatten Nested List Iterator

1.题目 Given a nested list of integers, implement an iterator to flatten it.Each element is either an...
  • mengxiang2100
  • mengxiang2100
  • 2017年08月09日 23:12
  • 110
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[leetcode-341]Flatten Nested List Iterator(java)
举报原因:
原因补充:

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