【剑指offer】20包含min函数的栈
2018-03-18 15:29
447 查看
/** *题目描述: *定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 */ import java.util.Stack; public class Solution { /*思路: 利用一个辅助栈来存放最小值 栈 3,4,2,5,1 辅助栈 3,3,2,2,1 每入栈一次,就与辅助栈顶比较大小,如果小就入栈,如果大就入栈当前的辅助栈顶 当出栈时,辅助栈也要出栈 这种做法可以保证辅助栈顶一定都当前栈的最小值 */ Stack<Integer> data = new Stack<Integer>(); Stack<Integer> min = new Stack<Integer>(); public void push(int node) { data.push(node); if(min.isEmpty()) min.push(node); else{ if(node<=min.peek()) min.push(node); } } public void pop() { if(data.peek()==min.peek()) min.pop(); data.pop(); } public int top() { return data.peek(); } public int min() { return min.peek(); } public static void main(String[] args) { Solution s=new Solution(); s.push(2); s.push(1); s.push(3); s.push(4); System.out.println(s.min()); System.out.println(s.top()); } }
相关文章推荐
- (C++)剑指offer-20:包含min函数的栈(举例让抽象具体化)
- 剑指Offer_20_包含min函数的栈
- 剑指offer——20.包含min函数的栈
- 牛客网-剑指offer-20-包含min函数的栈
- 剑指offer_20_包含min函数的栈
- 剑指offer 20 包含min函数的栈
- 剑指Offer面试题20顺时针打印矩阵,面试题21包含min函数的栈
- 剑指offer-20.包含min函数的栈
- 剑指offer-4-面试21:包含min函数的栈
- 剑指offer-包含min函数的栈
- 剑指offer第20题(包含min函数的栈)
- 【剑指offer】包含min函数的栈
- 剑指offer:包含min函数的栈
- 剑指offer 21. 包含min函数的栈
- 剑指offer:包含min函数的栈(java)
- 剑指offer-21:包含min函数的栈
- 剑指Offer学习总结-包含min函数的栈
- 【剑指Offer面试编程题】题目1522:包含min函数的栈--九度OJ
- 【剑指offer】面试题21:包含min函数的栈
- 剑指offer-面试题21-包含min函数的栈