目录
题目概述(简单难度)
题目链接
思路与代码
思路展现
这道题目与之前实现一个最小栈这道题目实际上是一个题目,所以大家可以直接看这篇博客即可:
代码示例
class MinStack { //定义两个栈,stack和minStack private Stack<Integer> stack = new Stack<>(); private Stack<Integer> minStack = new Stack<>(); public MinStack() { } public void push(int val) { stack.push(val); if(minStack.isEmpty()) { //先将第一个元素放入stack2当中 minStack.push(val); }else { //注意这块需要写等于号 if(val <= minStack.peek()) { minStack.push(val); } } } public void pop() { int x = stack.pop(); if(x == minStack.peek()) { minStack.pop(); } } public int top() { return stack.peek(); } public int min() { return minStack.peek(); } }