(java)Min Stack
来源:互联网 发布:大道寺知世和知世公主 编辑:程序博客网 时间:2024/06/06 03:43
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.
思路:用单链表来实现整个栈,数据结构设置如下
class Node{
int val;
int min;
Node next;
}
int val;
int min;
Node next;
}
对应push操作,如果此时单链表为空
node.min=x;
head=node;
如果单链表不为空,
将x与head.min的较小值赋给node.min
然后node,next=head,head=node;
对于pop操作
head=head.next就行
对于top操作
return head.val
对于getMin操作
return head.min就行
代码如下(已通过leetcode)
class MinStack {
Node head;
class Node{
int val;
int min;
Node next;
}
public void push(int x) {
Node node=new Node();
node.val=x;
if(head==null){
node.min=x;
head=node;
} else{
if(head.min<x){
node.min=head.min;
}else{
node.min=x;
}
node.next=head;
head=node;
}
}
public void pop() {
if(head.next==null){
head=null;
}else{
head=head.next;
}
}
public int top() {
return head.val;
}
public int getMin() {
return head.min;
}
}
0 0
- Min Stack Java
- Min Stack (Java)
- Leetcode [Min Stack] java
- LeetCode|Min Stack-java
- (java)Min Stack
- 155. Min Stack(java)
- Min Stack (JAVA实现)
- LeetCode 155 : Min Stack (Java)
- 【LeetCode-Java】155. Min Stack
- min stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- mybatis整合Spring的基本步骤
- Python 匿名函数lambda
- LeetCode OJ - Two Sum
- Error:Execution failed for task ':app:compileDebugNdk' 解决方法
- 5.4. Sets(集合)
- (java)Min Stack
- 芝麻拼房:用分享经济解决酒店“一房难求”
- 安全的应用程序开发和应用程序安全防御
- 无线产品的多种无线加密方式及其区别
- 《高性能MySQL》读书笔记--Schema与数据类型优化
- Mat转IplImage
- Windows访问Linux Samba的共享目录提示 登录失败:用户名或密码错误
- 判断每组是否是最后一个row
- iw命令移植(arm)