[LeetCode]--155. Min Stack

    xiaoxiao2026-04-24  7

    Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.

    push(x) – Push element x onto stack. pop() – Removes the element on top of the stack. top() – Get the top element. getMin() – Retrieve the minimum element in the stack. Example:

    MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack.getMin(); --> Returns -3. minStack.pop(); minStack.top(); --> Returns 0. minStack.getMin(); --> Returns -2. public class _155MinStack2 { private Stack<Integer> stack; private Stack<Integer> minStack; /** initialize your data structure here. */ public _155MinStack2() { stack = new Stack<Integer>(); minStack = new Stack<Integer>(); } public void push(int x) { stack.push(x); if (minStack.isEmpty()) { minStack.push(x); } else { if (minStack.peek() >= x) minStack.push(x); } } public void pop() { if (!stack.isEmpty()) { //判断对象相等用equals if (stack.peek().equals(minStack.peek())) { minStack.pop(); } stack.pop(); } } public int top() { if (!stack.isEmpty()) return stack.peek(); return 0; } public int getMin() { if (!minStack.isEmpty()) return minStack.peek(); return 0; } /** * Your MinStack object will be instantiated and called as such: MinStack * obj = new MinStack(); obj.push(x); obj.pop(); int param_3 = obj.top(); * int param_4 = obj.getMin(); */ 相关资源:python入门教程(PDF版)
    最新回复(0)