剑指offer——包含min函数的栈
题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。
代码实现(Java)
1 import java.util.Stack; 2 3 public class Solution { 4 private static Stack<Integer> mStack=new Stack<Integer>(); 5 private static Stack<Integer> minStack=new Stack<Integer>(); 6 7 public void push(int node) { 8 if(minStack.size()==0 || node<minStack.peek()){ 9 minStack.push(node); 10 }else{ 11 minStack.push(minStack.peek()); 12 } 13 mStack.push(node); 14 } 15 16 public void pop() { 17 if(!mStack.isEmpty()){ 18 mStack.pop(); 19 minStack.pop(); 20 } 21 22 } 23 24 public int top() { 25 return mStack.peek(); 26 27 } 28 29 public int min() { 30 return minStack.peek(); 31 } 32 }
posted on 2019-10-30 00:00 Joyce&wang 阅读(148) 评论(0) 收藏 举报
浙公网安备 33010602011771号