• 251. Flatten 2D Vector 平铺矩阵


    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].


    思路:for each的循环!判断i是不是integer,如果不是,就继续flatten它

    注意要初始化

    flattenedList = new LinkedList<Integer>();
    public class NestedIterator implements Iterator<Integer> {
        LinkedList<Integer> flattenedList;
        Iterator<Integer> iterator;
    
        public NestedIterator(List<NestedInteger> nestedList) {
            //注意要初始化
            flattenedList = new LinkedList<Integer>();
            flatten(nestedList);
            iterator = flattenedList.iterator();
        }
        
        public void flatten(List<NestedInteger> nestedList) {
            for (NestedInteger ni : nestedList) {
                if (ni.isInteger()) {
                    flattenedList.add(ni.getInteger());
                }else {
                    flatten(ni.getList());
                }
            }
        }
    
        @Override
        public Integer next() {
            return iterator.next();
        }
    
        @Override
        public boolean hasNext() {
            return iterator.hasNext();
        }
    }
    
    /**
     * Your NestedIterator object will be instantiated and called as such:
     * NestedIterator i = new NestedIterator(nestedList);
     * while (i.hasNext()) v[f()] = i.next();
     */
    View Code


  • 相关阅读:
    byte b=1、b=b+1、b+=1
    parameter ‘0’ not found
    Java设计模式—Singleton
    EL JSTL(得劲)
    天网恢恢Filter 窃听风云Listener
    Jsp学习总结(二)
    Jsp学习总结(一)
    Bugs(识破)
    [PAT乙级] Practise 1016 部分A+B
    [PAT乙级] Practise 1015 德才论
  • 原文地址:https://www.cnblogs.com/immiao0319/p/13875878.html
Copyright © 2020-2023  润新知