小渣渣的算法学习笔记:2018秋招备战
数据结构类算法总结:栈
数据结构类算法总结:栈
1.题目描述:
定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数。
2.代码实现:
public class Solution30 { Stack<Integer> mdata = new Stack<>(); Stack<Integer> mmin = new Stack<>(); public static void main(String[] args) { Solution30 s = new Solution30(); s.push(1); s.push(2); s.push(3); s.push(4); s.push(5); s.push(6); s.push(7); int min = s.min(); System.out.println(min); } public void push(int value){ mdata.push(value); if(mmin.size() == 0||value<mmin.peek()){ mmin.push(value); }else{ mmin.push(mmin.peek()); } } public int pop(){ if(mdata.size()>0&&mmin.size()>0){ return mdata.pop(); } return -1; } public int min(){ if(mdata.size()>0&&mmin.size()>0){ return mmin.pop(); } return -1; } }