定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。

来源:互联网 发布:小米软件推送关闭 编辑:程序博客网 时间:2024/05/29 17:54
import java.util.Stack;


public class Solution {
    //实际存储的栈
    Stack<Integer> data=new Stack<Integer>();
    //只存储最小数据的栈
    Stack<Integer> data_min=new Stack<Integer>();
    public void push(int node) {
        if(data_min.empty() || data_min.peek()>=node){
            data_min.push(node);
        }else{
            data_min.push(data_min.peek());
        }
        data.push(node);
    }
    
    public void pop() {
        if(data.empty()){
            return;
        }else{
            data.pop();
            data_min.pop();
        }
    }
    
    public int top() {
        if(data.empty()){
            return 0;
        }else{
           return data.peek();
        }
    }
    
    public int min() {
        if(data_min.empty()){
            return 0;
        }else{
           return data_min.peek();
        }
    }
}
阅读全文
0 0
原创粉丝点击