20.棧中最小元素的min函數
阿新 • • 發佈:2019-05-05
-c 數據 new sta min spa 元素 結構 integer
定義棧的數據結構,請在該類型中實現一個能夠得到棧中所含最小元素的min函數(時間復雜度應為O(1))
import java.util.Stack; /* * 解題註意:原棧多大,min棧就多大 * 23521 * 22221 * 題目意思是當前最小,你data棧pop掉1以後,當前min就改變了 */ public class Solution20 { Stack<Integer> stackData = new Stack<Integer>(); Stack<Integer> stackMin = new Stack<Integer>();public void push(int node) { if (stackMin.size() == 0) { stackData.push(node); stackMin.push(node); } else { if (node < stackMin.peek()) { stackMin.push(node); stackData.push(node); } else { stackData.push(node); stackMin.push(stackMin.peek()); } } }public void pop() { stackData.pop(); stackMin.pop(); } public int top() { return stackData.peek(); } public int min() { return stackMin.peek(); } }
20.棧中最小元素的min函數