定義棧的資料結構,請在該型別中實現一個能夠得到棧中所含最小元素的min函式 (時間複雜度應為O(1))。
阿新 • • 發佈:2018-12-28
import java.util.Stack; /** * 定義棧的資料結構,請在該型別中實現一個能夠得到棧中所含最小元素的min函式 * (時間複雜度應為O(1))。 */ public class Solution { static Stack<Integer> date = new Stack<>(); static Stack<Integer> min = new Stack<>(); public static void push(int node) { date.push(node); if (min.size() != 0 && min.peek() < node){ min.push(min.peek()); }else { min.push(node); } } public static void pop() { date.pop(); min.pop(); } public static int top() { return date.peek(); } public static int min() { return min.peek(); } public static void main(String[] args){ Solution.push(4); Solution.push(4); Solution.push(7); // Solution.push(1); int a = Solution.min(); System.out.println(a); } }