zoukankan      html  css  js  c++  java
  • 341. Flatten Nested List Iterator

    /*
     * 341. Flatten Nested List Iterator
     * 2016-7-10 by Mingyang
     * 这个题目又是Iterator,这里不能直接用那个东西了
     * 而且我们知道List可以从最后一个往前遍历
     */
     class NestedIterator implements Iterator<Integer> {
        Stack<NestedInteger> stack = new Stack<>();
        public NestedIterator(List<NestedInteger> nestedList) {
            for(int i = nestedList.size() - 1; i >= 0; i--) {
                stack.push(nestedList.get(i));
            }
        }
        @Override
        public Integer next() {
            return stack.pop().getInteger();
        }
    
        @Override
        public boolean hasNext() {
            while(!stack.isEmpty()) {
                NestedInteger curr = stack.peek();
                if(curr.isInteger()) {
                    return true;
                }
                stack.pop();
                for(int i = curr.getList().size() - 1; i >= 0; i--) {
                    stack.push(curr.getList().get(i));
                }
            }
            return false;
        }
        @Override
        public void remove() {
            // TODO Auto-generated method stub
            
        }
    }
    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();
    }
  • 相关阅读:
    所有HTTP返回状态值,并说明用途
    几个简单的排序算法
    Linux命令大全
    存储过程中执行动态Sql语句
    IE8的背景不显示和图片错位 解决方案
    海量数据处理方法
    关于MSSQL的返回值问题
    SQL Server 2008不能修改表的解决方法
    转:读AD里特殊的属性in C#
    了解SMS的主要特性。
  • 原文地址:https://www.cnblogs.com/zmyvszk/p/5662311.html
Copyright © 2011-2022 走看看