【力扣】155. 最小栈
发布日期:2021-06-29 19:44:10 浏览次数:3 分类:技术文章

本文共 1091 字,大约阅读时间需要 3 分钟。

题目:设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。

push(x) -- 将元素 x 推入栈中。pop() -- 删除栈顶的元素。top() -- 获取栈顶元素。getMin() -- 检索栈中的最小元素。

示例:

MinStack minStack = new MinStack();

minStack.push(-2);
minStack.push(0);
minStack.push(-3);
minStack.getMin(); --> 返回 -3.
minStack.pop();
minStack.top(); --> 返回 0.
minStack.getMin(); --> 返回 -2.

class MinStack {
int min = Integer.MAX_VALUE; Stack
stack = new Stack
(); /** initialize your data structure here. */ public MinStack() {
} public void push(int x) {
if(x <= min){
//将最小值存入 stack.push(min); min = x; } stack.push(x); } public void pop() {
if(stack.pop() == min) {
//出的是最小值,则min等于再下一个 min=stack.pop(); } } public int top() {
return stack.peek(); } public int getMin() {
return min; }}/** * 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(); */

转载地址:https://darkness.blog.csdn.net/article/details/104056044 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【力扣】160. 相交链表
下一篇:【力扣】141. 环形链表

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年05月03日 16时05分10秒