剑指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题目和一些刷题用的数据结构,单调栈,树状数组,差分数组,后面还会更新红黑树等较为复杂的数据结构