码迷,mamicode.com
首页 > 其他好文 > 详细

包含min函数的栈

时间:2016-06-14 19:32:48      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

题目描述

定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
 
public class Solution {
    Stack<Integer> data = new Stack<>();
    Stack<Integer> min = new Stack<>();
    
    Integer tmp = null;
    public void push(int node) {
        if(tmp!=null){
            if(node<=tmp){
                tmp = node;
                min.push(node);
            }
            data.push(node);
        }else{
            min.push(node);
            tmp = node;
            data.push(node);
        }
        
    }
    
    public void pop() {
        int num = data.pop();
        int num2 = min.pop();
        if(num!=num2){
            min.push(num2);
        }
    }
    
    public int top() {
        int num = data.pop();
        data.push(num);
        return num;
    }
    
    public int min() {
        int num = min.pop();
        min.push(num);
        return num;
    }
}

 

包含min函数的栈

标签:

原文地址:http://www.cnblogs.com/hesier/p/5585189.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!