• 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();
    }
  • 相关阅读:
    Entity Framework 6.1
    Entity Framework Code First学习系列
    oracle 监控执行的sql语句
    修改Oracle XE Listener 占用的1521、8080端口
    Oracle中使用Entity Framework 6.x Code-First
    ASP.Net MVC 数据处理
    权限系统
    订单处理减库存的设计
    表达式树,它与表达式、委托
    监听服务管理(转)
  • 原文地址:https://www.cnblogs.com/zmyvszk/p/5662311.html
Copyright © 2020-2023  润新知