剑指Offer_20_包含min函数的栈

来源:互联网 发布:淘宝耳环好卖吗 编辑:程序博客网 时间:2024/05/22 01:40

题目描述

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

解题思路

利用两个栈存放数据,一个存放数据,另一个存放,当前最小的值。

实现

import java.util.Stack;public class Solution {    private Stack<Integer> data = new Stack<>();    private Stack<Integer> min = new Stack<>();    private int minNum = Integer.MAX_VALUE;    public void push(int node) {        if (node < minNum) minNum = node;        data.push(node);        min.push(minNum);    }    public void pop() {        if (!data.empty() && !min.empty()){            data.pop();            min.pop();        }    }    public int top() {        if (!data.empty() && !min.empty()){            return data.peek();        }        return -1;    }    public int min() {        if (!data.empty() && !min.empty()){            return min.peek();        }        return -1;    }}
0 0
原创粉丝点击