DEV Community

Tanuja V
Tanuja V

Posted on

Min Stack | LeetCode | Java

class MinStack {

    Stack<Integer> stack;
    Stack<Integer> minStack;

    public MinStack() {
        stack = new Stack<>();
        minStack = new Stack<>();
    }

    public void push(int val) {
        int min = val;

        if(!minStack.isEmpty() && minStack.peek()<min)
            min = minStack.peek();

        stack.push(val);
        minStack.push(min);

    }

    public void pop() {
        stack.pop();
        minStack.pop();
    }

    public int top() {
        return stack.peek();
    }

    public int getMin() {
        return minStack.peek();
    }
}
Enter fullscreen mode Exit fullscreen mode

Thanks for reading :)
Feel free to comment and like the post if you found it helpful
Follow for more 🤝 && Happy Coding 🚀

If you enjoy my content, support me by following me on my other socials:
https://linktr.ee/tanujav7

Top comments (2)

Collapse
 
sehgalspandan profile image
Spandan Sehgal

Hi @tanujav 🙃 , just a recommendation from my side (from a reader's pov): It would be better if you could explain the terms like "Min Stack" with examples and also explain what your code does step by step.

Keep up the good work 🎉
All the best ✨

Collapse
 
tanujav profile image
Tanuja V

Thanks for the input, Spandan
I will definitely take this into account from upcoming posts :)