设计一个支持增量操作的栈

1381. 设计一个支持增量操作的栈

class CustomStack {
    private int[] a;
    private int size;

    public CustomStack(int maxSize) {
        a = new int[maxSize];
        size = 0;
    }

    public void push(int x) {
        if (size == a.length) return;
        a[size++] = x;
    }

    public int pop() {
        if (size == 0) return -1;
        return a[--size];
    }

    //栈顶的元素在a[--size],栈底的元素在a[0]
    public void increment(int k, int val) {
        for (int i = 0; i < size && i < k; i++) {
            a[i] += val;
        }
    }
}

Tips:

  • 本质就是一个用数组实现的定容栈,leetcode上的解答怎么这么复杂,不知道他们怎么想的

你可能感兴趣的:(设计一个支持增量操作的栈)