Skip to content

Latest commit

 

History

History
38 lines (31 loc) · 640 Bytes

1.2 - Stack.md

File metadata and controls

38 lines (31 loc) · 640 Bytes

Stack

class Stack {
    class StackNode {
        int val;
        StackNode next;

        public StackNode(int val) {
            this.val = val;
        }
    }

    StackNode top;

    int pop() {
        if (top == null) throw new EmptyStackException();
        int val = top.val;
        top = top.next;
        return val;
    }

    void push(int val) {
        StackNode node = new StackNode(val);
        node.next = top;
        top = node;
    }

    int peek() {
        if (top == null) throw new EmptyStackException();
        return top.val;
    }

    boolean isEmpty() {
        return top == null;
    }
}