当前位置: 代码迷 >> 综合 >> 剑指Offer 包含min函数的栈
  详细解决方案

剑指Offer 包含min函数的栈

热度:31   发布时间:2024-02-27 17:27:36.0
/*** 包含min函数的栈** 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))*/public class JZ020ContainMinStack {Stack<Integer> dataStack = new Stack<>();Stack<Integer> minStack = new Stack<>();public void push(int node) {dataStack.push(node);if (minStack.isEmpty()) {minStack.push(node);} else {int curMin = minStack.pop();minStack.push(curMin);minStack.push(Math.min(curMin, node));}}public void pop() {dataStack.pop();minStack.pop();}public int top() {int topEle = dataStack.pop();dataStack.push(topEle);return topEle;}public int min() {int minEle = minStack.pop();minStack.push(minEle);return minEle;}/*包含min函数的栈总结:1、题目抽象2、辅助栈的使用*/}

 

  相关解决方案