剑指offer-20-包含min函数的栈
包含min函数的栈
http://www.nowcoder.com/questionTerminal/4c776177d2c04c2494f2555c9fcc1e49
思路
- 空间换时间,辅助栈,存储最小值
主------辅助
5 ------ 2
2 ------ 2
4 ------ 3
4 ------ 3
3 ------ 3
9 ------ 9
代码
import java.util.Stack;
public class Solution {
Stack<Integer> stack=new Stack<>();
Stack<Integer> help=new Stack<>();
public void push(int node) {
if(help.isEmpty()){ //help判断是否空
help.push(node);
}else{
help.push(Math.min(node,help.peek()));
}
stack.push(node);
}
public void pop() {
stack.pop();
help.pop();
}
public int top() {
return stack.peek();
}
public int min() {
return help.peek();
}
} 剑指offer与数据结构 文章被收录于专栏
本专栏包括剑指offer题目和一些刷题用的数据结构,单调栈,树状数组,差分数组,后面还会更新红黑树等较为复杂的数据结构
查看4道真题和解析
凡岛公司福利 757人发布