public int depthSumInverse(List<NestedInteger> nestedList) {
        int sum = 0, cur = 0;
        Queue<NestedInteger> q = new LinkedList<>();
        for (NestedInteger i : nestedList) q.add(i);
        while (!q.isEmpty()) {
            int size = q.size(); 
            for (int i = 0; i < size; ++i) {
                NestedInteger n = q.remove();
                if (n.isInteger()) cur +=  n.getInteger();
                else q.addAll(n.getList());
            }
            sum += cur;
        }
        return sum;
    }